[教程]自己用C语言写的“银行模拟系统“欢迎纠正!

2013/5/6 17:07:00  人气 355    怀旧国机论坛  
 哎~~   学得越多,不会的也越多!!   不过老师说了,有问题是正常的!   没有问题才是最大的问题!   坚持下去吧,XL   不管别人的眼光!!   Come On!!   /* 主程序 */   #include“stdio.h“   #include“windows.h“   #include“stdlib.h“   void main()   {   void savemoney();/*存钱模块*/   void changekey();/*改密码模块*/   void *money();/*查询模块*/   void getmoney();/*取钱模块*/   void mune();/*菜单模块*/   void next();/*声明副程序1*/   char read;   char door;   int be=0;/*作为标识,用于判断*/   FILE*fp;/*账户*/   FILE*key;/*密码*/   FILE*money;/*金额*/   fp=fopen(“user.bb“,“rt“);   if(fp==NULL)/*没有账户,建立一个*/   {   system(“cls“);/*清屏程序*/   printf(“检测到你没有账户,是否创建一个??\n“);   printf(“Y_是 N_否\n“);   door=getchar();   if(door==‘Y‘)   { be=1;fp=fopen(“user.bb“,“wt+“);}   else if(door==‘N‘)   {   system(“cls“);   printf(“谢谢使用!\n“); return;}   }   else {next();}/*账户已有,登陆账户*/   if(be==1)   {   fp=fopen(“user.bb“,“at+“);   system(“cls“);   printf(“请输入你的用户名(英文)!\n按回车键结束!\n“);   read=getch();   while (read!=13)   {   putch(read);   fputc(read,fp);   read=getch();   }   fputc(‘.‘,fp);   fclose(fp);/*关闭数据流*/   key=fopen(“key.bb“,“wt+“);   system(“cls“);   printf(“\n请输入你的用户名密码(英文)!\n按回车键结束!\n“);   read=getch();   while (read!=13)   {   putch(read);   fputc(read,key);   read=getch();   }   fputc(‘.‘,key);/*以.为文件数据的标示*/   fclose(key);/*关闭数据流*/   money=fopen(“money.bb“,“wt+“);   fputc(‘0‘,money);   fclose(money);/*关闭数据流*/   system(“cls“);   printf(“\n用户创建成功!\n“);   next();   mune();   }   }   /*副程序1*/   void next()   {   FILE*key;   char key1[25];   char key2[25];   int i=0; int door=0;/*炮灰*/   int z;/*用来当做炮灰*/   key=fopen(“key.bb“,“rt“);   system(“cls“);   printf(“\n检测到你已有账户!\n请输入登陆密码(按回车键结束):\n“);   for(i=0;;i++)   {   key1=fgetc(key);/*将外部数据存储到相应数组*/   if(key1==‘.‘)   break;   }   for(i=0;;i++)   {   z=i;   key2=getch();   putch(key2);   if(key2==13)   {break;}   }   for(i=0;i<=z;i++)/*对输入密码的判断*/   {if(key2!=key1)   {   system(“cls“);   printf(“\n密码错误!\n“);break;}   else {door=1;break;}   }   if(door)   {   system(“cls“);   mune();/*跳到菜单*/   }   }   /*菜单程序*/   void mune()   {   int door;   loop:   system(“cls“);   printf(“请选择你所需要的服务\n“);   printf(“1:存钱\t2:取钱\n3:查询\t4修改密码\n5:退出\n“);   scanf(“%d“,&door);   switch(door)   {   case 1: savemoney(); break;   case 2: getmoney(); break;   case 3: *money(); break;   case 4: changekey(); break;   case 5: system(“cls“);printf(“感谢使用!“);return;break;   default : system(“cls“);printf(“输入有误!\n“);goto loop;   }   }   /*存钱程序*/   void savemoney()   {   FILE*fp;   char money[18];   int money2;   int i;   int num;/*输入的数量*/   system(“cls“);   printf(“请输入你要存进的金额\n“);   scanf(“%d“,&num);   fp=fopen(“money.bb“,“rt+“);/*只读*/   for(i=0;;i++)   {   money=getc(fp);   if(money==EOF)   {break;}   }   fclose(fp);/*关闭数据库流*/   money2=atoi(money);   money2=money2+num;   fp=fopen(“money.bb“,“rt+“);/*只写*/   fprintf(fp,“%d“,money2);/*保存*/   fclose(fp);/*关闭数据流*/   system(“cls“);   printf(“存取成功!\n存进金额:%d\n余额:%d\n“,num,money2);   printf(“按任意键退出!“);   }   /*取钱程序*/   void getmoney()   {   FILE*fp;   char money[15];   int num;   int i;   int money2;   system(“cls“);   printf(“请输入你要取出的金额!\n“);   scanf(“%d“,&num);   fp=fopen(“money.bb“,“rt+“);/*打开数据流*/   for(i=0;;i++)   {money=fgetc(fp);   if(money==EOF)   {break;}   }   fclose(fp);/*关闭数据流*/   money2=atoi(money);   money2=money2-num;/*对金额的处理*/   fp=fopen(“money.bb“,“rt+“);/*打开数据流*/   fprintf(fp,“%d“,money2);/*存入数据*/   fclose(fp);/*关闭数据流*/   system(“cls“);   printf(“取钱成功!\n取出:%d\n余额:%d\n“,num,money2);   printf(“按任意键退出!“);   }   /*查询余额*/   void *money()   {   FILE*fp;   int i;   int money2;   char money[15];   fp=fopen(“money.bb“,“rt+“);   for(i=0;;i++)   {   money=fgetc(fp);   if(money==EOF)   {break;}   }   money2=atoi(money);   system(“cls“);   printf(“你好!你的余额为:%d\n“,money2);   printf(“按任意键退出!\n“);   }   /*修改密码*/   void changekey()   {   FILE*fp;   char key[15];   char key2[15];   int i;   int z;   fp=fopen(“key.bb“,“rt+“);/*打开文件*/   loop:   system(“cls“);   printf(“请输入登陆密码(按回车键结束):\n“);   for(i=0;;i++)   {   key=fgetc(fp);/*将外部数据存储到相应数组*/   if(key==‘.‘)   break;   }   for(i=0;;i++)   {   z=i;   key2=getch();   putch(key2);   if(key2==13)   {break;}   }   for(i=0;i<=z;i++)/*对输入密码的判断*/   {if(key2!=key)   {   system(“cls“);   printf(“密码错误!\n“);printf(“请重新输入\n“);goto loop;}   else {break;}   }   printf(“密码正确!\n“);   printf(“请输入你的新密码\n(按回车键结束)\n“);   fp=fopen(“key.bb“,“rt+“);/*打开文件*/   for(i=0;;i++)   {   key=getch();   putch(key);   fputc(key,fp);   if(key==13)   { putch(‘.‘,fp); fclose(fp);break;}   }   system(“cls“);   printf(“密码修改成功!\n按任意键退出!\n“);   }

. [center][bbs=0_10_1]

发表回复

   


  通知楼主

椅子

【韩雅】鎀改狂人.05-06 17:17
这……该死的,忘了写上ubb换行了!!

回复只看TA

沙发

ベ暗夜精灵、【小影】.05-06 17:11
呼呼,,晕了

回复只看TA