2026年11月1日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
1000
Lv9有为九子能等级图标
勋章勋章勋章勋章勋章
帖子
9.3万
回复
2,089
积分
60.3万
注册
2006-12-06
[怀旧国机]

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

[复制链接]
查看 339 回复 2
楼主 发表于 | 只看该作者
2 人收藏

 哎~~

  学得越多,不会的也越多!!

  不过老师说了,有问题是正常的!

  没有问题才是最大的问题!

  坚持下去吧,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;

  char key2;

  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;

  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;

  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;

  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;

  char key2;

  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“);

  }

登录回复
85346
Lv6胸怀六国志等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章
帖子
2
回复
4,145
积分
4,840
注册
2011-12-01
1 楼

呼呼,,晕了

86898
Lv6胸怀六国志等级图标等级图标等级图标等级图标
勋章勋章勋章勋章
帖子
99
回复
2,725
积分
1.4万
注册
2011-12-10
2 楼

这……该死的,忘了写上ubb换行了!!

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块