search 登录 注册
arrow_back返回列表
ID:86898
light_modedark_modestarstarstar
Lv.1 韶华一笑间
edit_note帖子 214
stars积分 13,626
event加入 2011-12-10
怀旧国机

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

schedule发表于 2013-05-06 17:07:00 visibility查看 338 chat_bubble回复 2
#1 楼主
 哎~~
  学得越多,不会的也越多!!
  不过老师说了,有问题是正常的!
  没有问题才是最大的问题!
  坚持下去吧,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“);
  }

全部回复 (2)

ID:85346
light_modedark_modestarstar
Lv.1 韶华一笑间
2013-05-06 17:11:00 沙发
呼呼,,晕了
ID:86898
light_modedark_modestarstarstar
Lv.1 韶华一笑间
2013-05-06 17:17:00 板凳
这……该死的,忘了写上ubb换行了!!
登录 后才能回复