您好,欢迎访问三七文档
//[Y2-GS1221E23-卞治华]ATM取款机#includestdio.h#includestdlib.h#includetime.h#includestring.h#includeconio.h#includectype.h#defineCURU72#defineCURD80#defineCURL75#defineCURR77#defineESC27#defineN7voidzhuCe();//注册函数voiddengLu();//登陆函数voidsave();//保存信息voidchoice();//选择操作voidservice();//服务选择voidexit();//退出系统voidyangZhen();//验证函数voiduserInterface();//用户选择界面voidchoiceInterface();//选择界面voidserviceChoice();//服务菜单voidinit();//系统初始化,将用户信息写入custom.txt的文件intlogin(inta,charb[]);//登录密码验证intaccountJudge(inta);//用户账号验证voiddepositAccount();//存款界面voidwithdrawals();//取款界面voidinquireAccount();//查询界面voidtransfer();//转账界面voidplayingGame();//猜拳游戏voidwanNianLi();//万年历intisLeapYear(intm);//闰年、平年判定intdays(inty,intm);//天数判定intweek(inty,intm,intd);//星期判定voidprint(inty,intm);//自定义函数,打印万年历intgetAccount();//从系统中自动获取帐号intcash;//保存存取款金额staticintt;//保存登录后用户帐号的下标,方便进行存取转操作staticints;//保存成功登录后,所要转向的用户账号的下标,方便进行转账操作structuser{intaccount;//用户账号charname[20];//用户姓名charpasswd[7];//用户密码floatcreid;//用户帐户金额}custom[N]={{1000,admin,000001,500},{1001,bianzhihua,111111,6000},{1002,zhangtao,222222,3566},{1003,jiyuan,333333,24455},{1004,wangrui,777777,12345},{1005,liucong,000000,34343}};typedefstructuserUSER;voidmain()//登录函数和验证函数我将其都放在choice()中作为界面中的一个选项{userInterface();//用户选择界面choice();//选择操作}voidinit()//系统初始化,将用户信息写入custom.txt的文件{FILE*fp;inti;fp=fopen(e:\\custom.txt,rw);printf(系统已启动,数据入库中……\n);for(i=0;iN;i++){fwrite(&custom[i],sizeof(USER),1,fp);}save();fclose(fp);}voiddengLu()//登录函数{inti=0;intresult;inttempaccount;//存放用户登录卡号chartemppasswd[7];//存放用户登录密码system(cls);printf(**********************************************************\n);printf(**\n);printf(*用户登录账号验证*\n);;printf(**\n);printf(**********************************************************\n);do{printf(请输入您的银行卡号:);scanf(%d,&tempaccount);printf(请输入您的银行密码:);scanf(%s,temppasswd);result=login(tempaccount,temppasswd);if(result==1){service();break;}else{printf(第%d次登录失败!\n,i+1);}i++;}while(i3);if(i==3){system(cls);printf(*************************************************************************\n);printf(--三次密码错误,卡已被吞--\n);printf(--请带上个人身份证件到附近最近的工商银行取卡!--\n);printf(--如给你造成任何不便,敬请原谅--\n);printf(*************************************************************************\n);system(pause);exit(0);}}voidyangZhen()//验证函数{FILE*fp;inti;fp=fopen(e:\\custom.txt,r);chartempname[20];chartemppasswd[7];system(cls);printf(**********************************************************\n);printf(**\n);printf(*用户账号验证*\n);;printf(**\n);printf(**********************************************************\n);printf(请输入您的用户姓名:);scanf(%s,tempname);printf(请输入您的银行密码:);scanf(%s,temppasswd);for(i=0;iN;i++){fread(&custom[i],sizeof(USER),1,fp);if(strcmp(tempname,custom[i].name)==0&&strcmp(temppasswd,custom[i].passwd)==0){printf(***系统中存在该用户!***\n);choice();break;}}if(i==N)printf(***系统中没有该用户!***\n);choice();}intlogin(inta,charb[])//登录密码验证{FILE*fp;inti;fp=fopen(e:\\custom.txt,rw);for(i=0;iN;i++){fread(&custom[i],sizeof(USER),1,fp);if((a==custom[i].account)&&strcmp(b,custom[i].passwd)==0){t=i;//保存用户帐号的下标,方便进行存取转操作break;}}if(i==N)return0;elsereturn1;}voidservice()//服务选择{inti;system(pause);system(cls);printf(--恭喜您已成功登录中国工商银行自动取款机系统!--\n);serviceChoice();printf(\t请输入操作类型:);scanf(%d,&i);switch(i){case1:depositAccount();break;//存款界面case2:withdrawals();break;//取款界面case3:inquireAccount();break;//查询界面case4:transfer();break;//转账界面case5:playingGame();break;//猜拳游戏case6:wanNianLi();break;//万年历case7:choice();break;//返回default:printf(\t你所输入的选择不存在,请重新输入!\n);service();}}voidsave()//文件打开与否判断{FILE*fp;inti;if((fp=fopen(e:\\custom.txt,wb))==NULL){printf(cannotopenfile\n);return;}for(i=0;iN;i++)/*二进制写*/if(fwrite(&custom[i],sizeof(USER),1,fp)!=1)printf(filewriteerror\n);/*出错处理*/fclose(fp);/*关闭文件*/}voiduserInterface()//用户界面(ATM的开始界面){printf(**********************************************************\n);printf(****\n);printf(*欢迎使用中国工商银行自动取款机*\n);printf(****\n);printf(**********************************************************\n\n);}voidchoiceInterface()//界面选择{printf(***********欢迎使用中国工商银行自动取款系统***************\n);printf(**\n);printf(*1.注册*\n);printf(*2.登录*\n);printf(*3.验证*\n);printf(*4.取卡*\n);printf(**\n);printf(**********************************************************\n);}voidserviceChoice()//服务菜单{printf(**********************************************************\n);printf(*欢迎使用中国工商银行自动取款机*\n);printf(**\n);printf(*1:存款*\n);printf(*2:取款*\n);printf(*3:查询*\n);printf(*4:转账*\n);printf(*5:游戏*\n);printf(*6:万年历*\n);printf(*7:返回*\n);printf(**\n);printf(**********************************************************\n\n);}voidchoice()//选择{system(pause);system(cls);choiceInterface();intchose;printf(请选择您所要服务的类型:);scanf(%d,&chose);printf(\n);switch(chose){case1:zhuCe();break;//注册case2:dengLu();break;//登录case3:yangZhen();//验证case4:exit();//退出default:printf(\t您所输入的数据非法,请重新选择!\n);choice();}}voidexit()//退出{system(cls);printf(**********************************************************\n);printf(**\n);printf(*用户退出*\n);;printf(**\n);printf(*****************************************
本文标题:ATM 机 C语言
链接地址:https://www.777doc.com/doc-4922989 .html