模拟ATM取款机
2017-04-09 18:53
393 查看
此程序具有查询余额,取款,存款功能。 /*模拟ATM取款机*/ /*2017年4月8日*/ /*西安科技大学 汪强*/ #include<stdio.h> #include<stdlib.h> #include<string.h> int m=1;//控制系统退出 struct user//定义结构体 { char a[20];//用户账号 char b[10];//用户密码 float d;//余额 }s; void file3()//写余额 { FILE *in; if((in=fopen("file2.dat","w"))==NULL) { printf("无法打开此文件!\n"); exit(0); } fprintf(in,"%f ",s.d); fclose(in); } void file1()//读余额 { FILE *out; if((out=fopen("file2.dat","w"))==NULL) { printf("无法打开此文件!\n"); exit(0); } fscanf(out,"%f ",&s.d); } void file()//写入账号和密码 { FILE *p; char z[20],m[10]; if((p=fopen("file1.dat","w"))==NULL) { printf("无法打开此文件!"); exit(0); } printf("请输入您的账号:"); scanf("%s",z); fprintf(p,"%s ",z); printf("请设置您的密码:"); scanf("%s",m); fprintf(p,"%s",m); fclose(p); } void file2()//读取账号和密码 { FILE *q; if((q=fopen("file1.dat","r"))==NULL) { printf("无法打开此文件!\n"); exit(0); } fscanf(q,"%s",s.a); fscanf(q,"%s",s.b); fclose(q); } void like()//是否注册账号 { int choose; printf("如需注册账户请按'1',否则请按'0'\n"); scanf("%d",&choose); while(choose) { file(); choose=0; } } void meun()//主界面 { printf("\t\t\t*************************************************\n"); printf("\t\t\t* *\n"); printf("\t\t\t* 1.查询余额 2.存款 *\n"); printf("\t\t\t* 3.取款 *\n"); printf("\t\t\t* 0.退出系统 *\n"); printf("\t\t\t*************************************************\n"); } void key()//账号登录 { int flag=1; char code[10],number[20]; while(flag) { printf("账号:"); scanf("%s",number); printf("\n"); printf("密码:"); scanf("%s",code); if(strcmp(s.a,number)!=0) {printf("账号输入错误! ");flag=1;} if(strcmp(s.b,code)!=0) {printf("密码输入错误!\n");flag=1;} if((strcmp(s.a,number)==0)&&(strcmp(s.b,code)==0)) flag=0; } } void cun()//存款 { float money; printf("请输入您的存款金额:"); scanf("%f",&money); printf("\n"); s.d+=money; printf("存款成功!\n"); } void qu()//取款 { float money; printf("请输入您的取款金额:"); scanf("%f",&money); printf("\n"); if(money>s.d) printf("余额不足!\n"); else {s.d-=money;printf("取款成功!\n");} } void check()//打印当前余额 { printf("您当前的余额为:%f",s.d); printf("\n"); } void jinru() { int choose; meun(); printf("请输入你要选择的业务(序号):"); scanf("%d",&choose); switch(choose) { case 1:file1();check();break; case 2:cun();file3();break; case 3:file1();qu();file3();break; case 0:m=0;break; default:printf("输入错误请重新输入!");break; } } int main()//主函数 { like(); file2(); printf("请登录!\n"); key(); printf("登陆成功!\n"); while(m) { jinru(); } system("pause"); return 0; }
相关文章推荐
- ATM取款机系统模拟仿真
- 模拟ATM取款机的三次密码校验,当天达到3次输入密码错误, 则提示“账号被冻结”,其他情况则提示还有多少次输入机会
- ATM取款机的数据库模拟开发和实战总结
- JavaSE 模拟银行ATM取款机功能
- Java编写的模拟ATM取款机程序
- ATM取款机模拟——数据结构课设
- c++模拟ATM取款机
- 分享一个模拟ATM取款机的DEMO
- 模拟银行ATM取款机
- ATM取款机模拟
- ATM取款机模拟——数据结构课设
- 模拟ATM取款机
- 分享一个模拟ATM取款机的DEMO
- ATM银行取款机模拟程序(可连接数据库)
- Java编写的模拟ATM取款机程序
- 【C】——C模拟atm取款机
- ATM取款机系统模拟仿真
- C++制作的ATM取款机
- C++实验2-模拟ATM
- ATM模拟程序