C语言ATM程序模拟
C语言 ATM 程序设计

C语言 ATM 程序设计概述:本文将详细介绍如何使用C语言设计一个简单的ATM(自动取款机)程序。
ATM程序的主要功能包括用户登录、查询余额、取款、存款和退出等。
1. 用户登录:用户需要输入正确的账户号码和密码才干成功登录。
账户号码和密码可以存储在一个预定义的用户数据库中。
用户输入账户号码和密码后,程序将验证其有效性并赋予相应的登录状态。
2. 查询余额:用户成功登录后,可以选择查询余额。
程序将从用户数据库中获取用户的余额信息并显示在屏幕上。
3. 取款:用户成功登录后,可以选择取款。
用户需要输入取款金额,程序将验证用户账户余额是否足够。
如果余额足够,则扣除相应金额并更新用户数据库中的余额信息;如果余额不足,则提示用户余额不足。
4. 存款:用户成功登录后,可以选择存款。
用户需要输入存款金额,程序将将其加到用户账户的余额中,并更新用户数据库中的余额信息。
5. 退出:用户可以选择退出程序。
退出前,程序将提示用户是否确认退出,并根据用户的选择执行相应的操作。
6. 错误处理:程序需要对用户的输入进行错误处理。
例如,当用户输入错误的账户号码或者密码时,程序应该赋予相应的错误提示;当用户输入非法金额时,程序应该赋予相应的错误提示。
7. 数据存储:程序需要使用文件或者数据库来存储用户的账户信息和余额信息。
可以使用文本文件、二进制文件或者关系型数据库等。
8. 用户界面:程序需要提供一个友好的用户界面,以便用户能够轻松地进行操作。
可以使用控制台界面或者图形界面,根据需要选择合适的界面设计。
9. 安全性:程序需要确保用户的账户信息和余额信息的安全性。
可以使用加密算法来加密用户的密码,在存储和传输过程中保护用户的隐私。
10. 测试和调试:在完成程序的编写后,需要进行充分的测试和调试,以确保程序的稳定性和正确性。
可以编写测试用例,并对程序进行单元测试和集成测试。
总结:本文详细介绍了使用C语言设计一个简单的ATM程序的要求和功能。
c模拟取款机课程设计

c 模拟取款机课程设计一、课程目标知识目标:1. 学生能够理解ATM机的基本工作原理和功能操作流程;2. 学生能够掌握运用编程语言进行ATM机模拟程序的设计;3. 学生能够运用基本的数学运算实现账户余额的查询、取款和存款功能。
技能目标:1. 学生能够运用所学知识,独立设计并编写一个简单的ATM取款机模拟程序;2. 学生能够通过编程解决实际问题,提高逻辑思维和问题解决能力;3. 学生能够通过团队协作,共同完成项目任务,提高沟通与协作能力。
情感态度价值观目标:1. 学生能够认识到编程在生活中的实际应用,增强学习信息技术的兴趣;2. 学生能够在项目实践中体会团队合作的重要性,培养合作精神;3. 学生能够通过解决实际问题,认识到学习知识可以改善生活,提高社会责任感。
分析课程性质、学生特点和教学要求,本课程旨在帮助学生在掌握ATM机基本知识的基础上,运用编程技能实现模拟程序的设计,培养学生解决实际问题的能力。
课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 理论知识:- 了解ATM机的基本功能及其工作原理;- 学习编程语言的基本语法和结构;- 掌握条件语句、循环语句和函数的定义与使用。
2. 实践操作:- 设计并编写ATM机模拟程序;- 实现账户余额查询、取款、存款和退出功能;- 学习调试程序,解决编程过程中遇到的问题。
3. 教学大纲:- 第一周:ATM机基本功能介绍,学习编程语言基础;- 第二周:编写ATM机模拟程序,实现查询余额和取款功能;- 第三周:实现存款和退出功能,学习调试程序;- 第四周:项目展示与评价,总结反馈。
4. 教材章节:- 《信息技术》第三章:程序设计基础;- 《信息技术》第四章:算法与程序设计。
教学内容根据课程目标进行选择和组织,保证科学性和系统性。
教学大纲明确了教学内容的安排和进度,确保学生在学习过程中逐步掌握所需知识,为实践操作打下坚实基础。
C语言-模仿ATM

2.7.1.4 练习4 模仿A TM模仿ATM取款程序,包括清空、存钱、取钱、查询余额、计算利息、有界面//atm.c#include<stdi o.h>#include<stdlib.h>float total=0;//全¨?局?变À?量¢?,ê?用®?于®¨²所¨´有®D函¡¥数ºyvoid clear(void){total=0;}void save(void){printf("Input Save Amount:");float amount;scanf("%f",&amount);scanf("%*c");total+=amount;}void get(void){printf("Input Get Amount:");int amount;scanf("%d",&amount);scanf("%*c");if(amount>total){printf("Amount Error!\n");get();}elsetotal-=amount;}void inquiry(void){printf("You balance is: %f.\n",total);}void menu(){printf("+------------------------------+\n");printf(" Welcome to Bank of Set \n");printf("+------------------------------+\n");printf("[1]Press 1 to Save money.\n");printf("[2]Press 2 to inquiry balance.\n");printf("[3]Press 3 to get money.\n");printf("[4]Press 4 to clear account.\n");printf("C hoose:");int i;scanf("%d",&i);scanf("%*c");switch(i){case 1:save();break;case 2:inquiry();break;case 3:get();break;case 4:clear();break;default:printf("Press Error!\n");menu();break;}}void Exit(){printf("Press <R> to return menu.\n");printf("Press <Q> to quit.\n");char ch;scanf("%c",&ch);scanf("%*c");//去除缓冲区里面输入的回车键if(ch=='Q'||ch=='q')exit(0);}int main(){while(1){menu();Exit();system("cls");//清屏}return 0;。
C语言课程设计ATM机模拟操作附源码

C语言课程设计A T M机模拟操作附源码Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】C语言-ATM机模拟操作程序实现功能点:a.查询:查询帐户的存款余额。
按任意键返回主菜单;b.取款:输入100、500、1000、2000、5000、其它金额为取款金额,取款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单;c.存款:输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后帐户余额应相应增加。
之后可返回主菜单;d.转帐:输入一个帐户号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相应减少。
之后可返回主菜单;e.修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。
之后可返回主菜单;f.退出:退出系统;g.帮助:增加趣味性;h.存款时,可正可负,正表示存款,负表示取款;i.帐户信息存放在文件,储户存取款记录保存在中;(在目录下创建这两个文件)j.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用;k.储户一天内输错密码的次数不能超过3次,否则无法进入系统;l.有效避免输入存款金额、取款金额为负数等异常情况的出现。
较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。
是否超过余额,是否不符合格式,是否为冲突操作。
(2)程序运行截图及说明(每图限50到100字);进入程序,menu1可选择登录、注册功能。
选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。
若登录失败,则重新选择。
选择注册,输入账号密码,写入文件中。
进入menu2,有五大功能选择,输入对应的序列号进入。
用c语言编写的一个ATM取款机程序

⽤c语⾔编写的⼀个ATM取款机程序学了⼀个多星期的c语⾔了,⽼师布置来了作业,⽤C编写个ATM机的模拟程序,客户界⾯有,取款,2存款,3转账,4退出。
并且要求输⼊错误后,有三次机会重输,定义输⼊密码hellowold,⽤switch分⽀。
#include<stdio.h>#include<string.h>#define key "hellowold"//定义密码#define zhanghu "123456789"#define line "==================\n"int num;//选择类型char arr[20];//定义数组char password[20];//定义数组int money;//取款⾦额int i=0;int main(){printf(line);printf("\t1取款\n");printf("\t2存款\n");printf("\t3转账\n");printf("\t4退出\n");printf(line);printf("请选择操作类型: \n");scanf("%d",&num);switch(num){case1:{ do{printf("请输⼊密码:\n");scanf("%s",&password);if(strcmp(key,password)==0){printf("请输⼊取款⾦额:\n");scanf("%d",&money);printf("请取⾛你的%d⽑爷爷",money);break;}else{printf("密码输⼊错误");}i++;}while((strcmp(key,password)!=0)&&i<=2);}}第⼆步存款,定义账号#include<stdio.h>#include<string.h>#define key "hellowold"//定义密码#define zhanghu "#define other "ni de mao ye ye"#define line "==================\n"int num;//选择类型char arr[20];//定义数组char password[20];//定义数组char others[20];int money;//取款⾦额int num2;//存款⾦额int i=0;int main(){printf(line);printf("\t1取款\n");printf("\t2存款\n");printf("\t3转账\n");printf("\t4退出\n");printf(line);printf("请选择操作类型: \n");scanf("%d",&num);switch(num){case1:{ do{printf("请输⼊密码:\n");scanf("%s",&password);if(strcmp(key,password)==0){printf("请输⼊取款⾦额:\n");scanf("%d",&money);printf("请取⾛你的%d⽑爷爷",money);break;}else{printf("密码输⼊错误");}i++;}while((strcmp(key,password)!=0)&&i<=2);break;}今天先变到这⾥吧,作业还多着了,排版不是很好看,就将就这看吧。
C语言模拟ATM机的编写程序

C语言模拟ATM机的编写程序#include <stdio.h>void main(){long int a,b,c,d,e,f,g,k,l,m,n,o,p,h;n=0;h=10000;k=123456;loop0: printf("\t\t\t欢迎使用中国邮政ATM取款机!\n\n");printf("请插入你的银行卡,并输入你的密码,三次密码输入错误,将终止程序:\n");scanf("%ld",&l);if(k==l){loop1: printf("请输入你选择的操作类型:\n");printf("请输入0-4进行选择:\n");printf("1:<转账>\t2:<查询>\t3:<取款>\t4:<修改密码>\t0:<取卡>\n");scanf("%ld",&a);switch(a){case 1: printf("请输入转账账号:\n");scanf("%d",&o);printf("请输入你需要转账的金额:\n");scanf("%d",&p);printf("请输入你选择的操作类型:\n");printf("请输入0或1进行选择:\n");printf("1:<确认>\t0:<返回>\n");h=10000-p;scanf("%ld",&b);switch(b){case 1:printf("\n转账%d元人民币成功!\n\n",p);goto loop1;break;case 0:goto loop1;break;default :printf("\n无此操作项!\n\n");goto loop1;}break;loop4:case 2:printf("请输入你选择的操作类型:\n");printf("请输入0-2进行选择:\n");printf("1:<查询余额>\t2:<查询明细>\t0:<返回>\n");scanf("%ld",&c);switch(c){case 1:printf("\n你的余额为:%5d\n\n",h);goto loop1;break;case 2:printf("\n你的账单为:******。
C语言ATM机代码,简单版。

C语⾔ATM机代码,简单版。
#include <stdio.h>void main(){int i,j;int code=0,flag=0;int choice1=0,choice2=0,choice3=0;int RMB=100000,WB=100000;int cash1=0,cash2=0;char instruct='n';printf("************************************************************\n");printf("* *\n");printf("* *\n");printf("* 欢迎使⽤怪精 ATM取款机 *\n");printf("* *\n");printf("* 监制: rain version number:1.0.1 *\n");printf("* *\n"); printf("* *\n"); printf("************************************************************\n");printf("请键⼊您的密码:\n"); /*密码为9527*/for(i=0;i<3;i++){scanf("%d",&code);system("cls");if(code==9527){break;}if(code!=9527){printf("密码有误!请重新输⼊:\n");flag+=1;}}if(flag==3){printf("密码错误超限,请回去⾯壁思过,再见!");return;}while(instruct=='N'|| instruct=='n' ){if(code==9527){printf("请选择您所需服务!\n");printf("1.查询余额 2.取款 3.退出");scanf("%d",&choice1);system("cls");switch(choice1){case 1:printf("1.⼈民币 2.外汇");scanf("%d",&choice2);system("cls");switch(choice2){case 1:printf("您的⼈民币账户余额:¥%d\n",RMB);break;case 2:printf("您的外币账户余额:$%d\n",WB);break;}break;case 2:printf("1.⼈民币 2.外币");scanf("%d",&choice3);system("cls");switch(choice3){case 1:printf("请输⼊取款⾦额:\n");scanf("%d",&cash1);RMB=RMB-cash1;printf("您的账户余额为:¥%d\n",RMB); break;case 2:printf("请输⼊取款⾦额:\n");scanf("%d",&cash2);WB=WB-cash2;printf("您的账户余额为:$%d\n",WB); break;}break;case 3:break;}printf("是否退出程序<y表⽰是,n表⽰否>:"); scanf("%s",&instruct);}}}。
ATM自动取款机模拟程序

银行ATM自动取款机模拟程序本程序需要两个文件,ATM程序文件及系统管理员管理,两个文件必须在同一个文件或同一路径下!1.ATM程序文件://////CUser.h //////////#include<fstream>using namespace std;struct user{int Money;int User;int Password;};class CAtm{public:int Login();//登陆void GetBalance();//查询余额void ChangePassword();//修改密码void DrawMoney();//取款void TranserAccounts();//转账void BankSaving();//存款int Exit();//退出系统private:int Position;//数据位置user us[5];//保存文件内容user us[20];user s;};///////////User.cpp /////////////#include<iostream>#include<fstream>#include"CUser.h"using namespace std;int CAtm::Login() //登录{ int save[5];//保存被吃卡的用户的账号bool flag;int i,j,k,num;fstream iofile("atm.dat",ios::in|ios::binary);iofile.read((char*)&us,sizeof(us));fstream in("jiesuo.dat",ios::in|ios::out|ios::binary);in.read((char*)&save,sizeof(save));cout<<"请输入你的账号:";cin>>num;flag=true;for(i=0;i<5;i++){ if(us[i].User==num) {flag=false;j=i;}}if(flag==true) { cout<<"账号不存在!"<<endl;return 0;}for(k=0;k<5;k++)//判断账号是否已经被锁{if(save[k]==num){ cout<<"你的账号已锁,请寻系统管理员解锁!"<<endl;return 0;}}k=0;cout<<"请输入密码:";cin>>num;for(i=1;i<=3;i++){ k++;if(us[j].Password!=num){ if(k==3){ cout<<"你的卡被锁定了,请找系统管理员解锁!"<<endl;save[j]=us[j].User;in.close();fstream out("jiesuo.dat",ios::out|ios::binary);out.write((char*)&save,sizeof(save));out.close();return 0;}else { cout<<"请重新输入密码:";cin>>num;}}}cout<<"密码正确,进入系统!"<<endl;er=us[j].User;s.Money=us[j].Money;s.Password=us[j].Password;Position=j;iofile.close();return 1;}void CAtm::GetBalance()//查询余额{ cout<<"您的账户余额:"<<s.Money<<endl;}void CAtm::ChangePassword()// 修改密码{ fstream iofile("atm.dat",ios::in|ios::out|ios::binary);cout<<"请输入新密码:";cin>>s.Password;iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));iofile.close();}void CAtm::DrawMoney()//取款{int j;cout<<"请输入取款金额:";cin>>j;while(j>s.Money){cout<<"金额不足,请重新输入取款金额:";cin>>j;}s.Money=s.Money-j;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));cout<<"取款金额是:"<<j<<" "<<"取款成功!!"<<endl;iofile.close();}void CAtm::TranserAccounts()//转账{ int s1,p,i;cout<<"请输入要转入的账号:";cin>>s1;bool flag=true;for(i=0;i<5;i++){ if(us[i].User==s1) {flag=false; p=i;}}if(flag==true)cout<<"账号不存在!"<<"请重新输入账号:";cout<<"请输入要转入的金额:";cin>>s1;while(s1>s.Money){cout<<"请重新输入转入金额:";cin>>s1;}us[p].Money=s1;s.Money=s.Money-s1;us[Position].Money=s.Money;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.write((char*)&us,sizeof(us));iofile.close();cout<<"转账成功!"<<endl;}void CAtm::BankSaving()//存款缴费{ int k;cout<<"请输入要存款的金额:";cin>>k;s.Money=s.Money+k;fstream iofile("atm.dat",ios::in|ios::out|ios::binary);iofile.seekp((Position+1)*sizeof(s),ios::beg);iofile.write((char*)&s,sizeof(s));iofile.close();}int CAtm::Exit()//退出系统{cout<<" 谢谢使用本程序!!!"<<endl;return 0;}//////////////main.cpp ////////////////#include<iostream>#include"CUser.h "using namespace std;int main(){ cout<<" 欢迎使用银行ATM自动取款机模拟程序!"<<endl;cout<<endl;cout<<" 首次使用本程序,请先运行系统管理员程序!"<<endl;cout<<endl;cout<<" 说明:账号,密码,金额相同"<<endl;cout<<endl;cout<<" 文件中定义为5个账户,分别为1.2.3.4.5 "<<endl;cout<<endl;cout<<" 初始化时,请注意这些!!!"<<endl;cout<<endl;CAtm atm;if(atm.Login()==1){ cout<<" 1 查询余额"<<endl;cout<<" 2 修改密码"<<endl;cout<<" 3 取款"<<endl;cout<<" 4 转账"<<endl;cout<<" 5 存款"<<endl;cout<<" 0 退出系统"<<endl;int n;cout<<"请选择操作:";while(cin>>n){if(n==0) return atm.Exit();//退出系统if(n==1) atm.GetBalance();//查询余额if(n==2) atm.ChangePassword();//修改密码if(n==3) atm.DrawMoney();//取款if(n==4) atm.TranserAccounts();//转账if(n==5) atm.BankSaving();//存款cout<<"请继续选择操作:";}}return 0;}2.系统管理员程序:#include<iostream>#include<fstream>using namespace std;struct user{int Money;int User;int Password;};int main(){ int a[5]={0,0,0,0,0};int n;user us[20];cout<<" 欢迎使用系统管理员程序"<<endl;cout<<endl;cout<<" 说明:本程序只能建立5个账户!"<<endl;cout<<endl;cout<<" 请输入相应数字选择操作:"<<endl;cout<<endl;cout<<"----------------------------"<<endl;cout<<"- 0 结束操作-"<<endl;cout<<"- 1 用户信息-"<<endl;cout<<"- 2 吃卡解锁-"<<endl;cout<<"- 3 系统初始化-"<<endl;cout<<"----------------------------"<<endl;cout<<endl;cout<<"说明:用户信息的操作是进行开户操作!"<<endl;cout<<" 系统初始化是采用已定义好的5个账户,即原始系统初始化!"<<endl;while(cin>>n){ if(n==1){ user u[5];int i;fstream iofile("..\\ATM自动取款机\\atm.dat",ios::in|ios::out|ios::binary);if(!iofile){cerr<<"打开文件失败!";return -1;}cout<<"请输入数据:"<<endl;cout<<"账号密码金额"<<endl;for(i=0;i<5;i++){cin>>u[i].User>>u[i].Password>>u[i].Money;}iofile.write((char*)&u,sizeof(u));iofile.close();cout<<endl;cout<<"数据输入结束!"<<endl;cout<<endl;continue;}if(n==2){ fstream iofile("..\\ATM自动取款机\\atm.dat",ios::in|ios::binary);iofile.read((char*)&us,sizeof(us));fstream in("..\\ATM自动取款机\\jiesuo.dat",ios::in|ios::out|ios::binary);int i,j,p;bool flag;cout<<"请输入要解锁的账号:";cin>>j;flag=true;while(flag==true){for(i=0;i<5;i++){ if(j==us[i].User) { flag=false;p=i; break; }if(flag==true) { cout<<"账号不存在!"<<endl;cout<<"请重新输入账号:"; }cin>>j;}}a[p]=0;cout<<"解锁成功"<<endl;in.write((char*)&a,sizeof(a));in.close();continue;}if(n==3){ cout<<"系统初始化"<<endl;fstream out("..\\ATM自动取款机\\jiesuo.dat",ios::out|ios::binary);out.write((char*)&a,sizeof(a));user u[5];int i;fstream iofile("..\\ATM自动取款机\\atm.dat",ios::out|ios::binary);if(!iofile){cerr<<"打开文件失败!";return -1;}for(i=0;i<5;i++){u[i].User=i+1;u[i].Password=i+1;u[i].Money=i+1;}iofile.write((char*)&u,sizeof(u));iofile.close();cout<<"初始化成功!!!"<<endl;continue;}if(n==0){ return 0;}}return 0;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课题要求1、当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录A TM柜员机系统。
2、查询余额:初始余额为10000元。
3、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
4、ATM存款:不能出现负存款。
5、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
二、代码#include "stdafx.h"#include "stdio.h"#include "windows.h"#include "stdlib.h"#include "conio.h"void gotoxy(int x,int y); //光标位置函数void enter_ATM(); //账号输入函数void input_code(); //密码输入函数void caozuo(); //基本操作界面void qukuan(); //取款函数void success(); //操作成功函数void delay(); //延时函数void yu_e(); //余额查询函数void cunkuan(); //存款函数void panduan(long int z); //判断取款是否合法函数void exit(); //退出界面函数void mima(); //密码修改void zhuangyi();long int CODE=123456,YU_E=10000;//=========================主函数========================//main(){enter_ATM();caozuo();}//======================================================////==================================柜台机账号输入函数=======================================//void enter_ATM(){system("cls");printf("********************************\n");printf("* *\n");printf("* 欢迎使用A TM 柜台机*\n");printf("* 请输入卡号*\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("********************************\n");long int user;gotoxy(14,4);scanf("%d",&user);while(user!=123456){system("cls");printf("********************************\n");printf("* *\n");printf("* 账户不存在,请从新输入*\n");printf("* *\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("********************************\n");gotoxy(13,3);scanf("%d",&user);}input_code();}//========================================================================= =================////=======================================密码输入函数========================================//void input_code(){long int code;int temp=3,time;system("cls");printf("********************************\n");printf("* *\n");printf("* 请输入密码*\n");printf("* *\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("********************************\n");gotoxy(14,3);scanf("%d",&code);while(code!=CODE){temp--;if(temp==0){for(time=5;time>0;time--){system("cls");printf("********************************\n");printf("* *\n");printf("* 您已经3 次输入密码*\n");printf("* 系统将退出操作*\n");printf("* *\n");printf("* ");printf("%d",time);printf(" *\n");printf("* *\n");printf("********************************\n");delay();}enter_ATM();}system("cls");printf("********************************\n");printf("* *\n");printf("* 密码错误,请重新输入*\n");printf("* 您还有");printf("%d",temp);printf(" 次机会*\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("********************************\n");gotoxy(14,4);scanf("%d",&code);}caozuo();}//========================================================================= ============////============================================主操作界面函数========================================//void caozuo(){system("cls");printf("********************************\n");printf("* 请选择一下业务*\n");printf("* 1.修改密码*\n");printf("* 2.查询余额*\n");printf("* 3.取款*\n");printf("* 4.实时存款*\n");printf("* 5.退出*\n");printf("********************************\n");switch(getch()){case '1': mima(); break;case '2': yu_e(); break;case '3': qukuan(); break;case '4': cunkuan(); break;case '5': exit(); break;default:printf("error\n");}}//========================================================================= =========================////==============================密码修改函数==============================// void mima(){long int mm1,mm2,mm3;char temp;system("cls");printf("********************************\n");printf("* *\n");printf("* 旧密码: *\n");printf("* *\n");printf("* 新密码: *\n");printf("* 确认新密码: *\n");printf("* *\n"); printf("********************************\n"); gotoxy(15,2);scanf("%d",&mm1);gotoxy(15,4);scanf("%d",&mm2);gotoxy(15,5);scanf("%d",&mm3);if(mm1!=CODE){system("cls");printf("********************************\n"); printf("* *\n"); printf("* 旧密码错误*\n"); printf("* *\n"); printf("* 请重新输入!*\n"); printf("* *\n"); printf("* *\n"); printf("********************************\n"); delay();delay();zhuangyi();}if(mm2!=mm3){system("cls");printf("********************************\n"); printf("* *\n"); printf("* 确认密码不一致*\n"); printf("* *\n"); printf("* 请重新输入!*\n"); printf("* *\n"); printf("* *\n"); printf("********************************\n"); delay();delay();zhuangyi();}if(mm2<100000){system("cls");printf("********************************\n"); printf("* *\n"); printf("* 密码必须大于或等于6位数*\n");printf("* *\n");printf("* 请重新输入!*\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();zhuangyi();}temp=mm2%111111;if(temp==0){system("cls");printf("********************************\n");printf("* *\n");printf("* 密码过于简单*\n");printf("* *\n");printf("* 请重新输入!*\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();zhuangyi();}CODE=mm2;system("cls");printf("********************************\n");printf("* *\n");printf("* 操作成功*\n");printf("* *\n");printf("* 1.返回 2.退出*\n");printf("* *\n");printf("* *\n");printf("********************************\n");switch(getch()){case '1': caozuo(); break;case '2': exit(); break;}}//======================================================================////==========================余额查询函数============================//void yu_e(){system("cls");printf("********************************\n");printf("* *\n");printf("* *\n");printf("* 系统正在查询*\n");printf("* 请稍候... *\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();system("cls");printf("********************************\n");printf("* *\n");printf("* 您的余额为*\n");printf("* *\n");printf(" ");printf("%d",YU_E);printf("\n* *\n");printf("* 1.返回 2.退出*\n");printf("********************************\n");switch(getch()){case '1': caozuo(); break;case '2': exit(); break;}}//==================================================================////===================================取款函数====================================//void qukuan(){long int temp;system("cls");printf("********************************\n");printf("* 请选择您要取款的金额*\n");printf("* 1.100 2.200 *\n");printf("* 3.500 4.800 *\n");printf("* 5.1000 6.其它*\n");printf("* *\n");printf("* 7.返回8.退出*\n");printf("********************************\n");switch(getch()){case '1': panduan(100); break;case '2': panduan(200); break;case '3': panduan(500); break;case '4': panduan(800); break;case '5': panduan(1000); break;case '6':system("cls");printf("********************************\n");printf("* *\n");printf("* 请输入您要取款的金额*\n");printf("* *\n");printf("* *\n");printf("* *\n");printf("* *\n");printf("********************************\n");gotoxy(14,4);scanf("%d",&temp);panduan(temp); break;case '7':caozuo(); break;case '8':exit(); break;}}//========================================================================= =======////======================================判断取款是否合法函数==================================//void panduan(long int z){int beishu;if(z>YU_E){system("cls");printf("********************************\n");printf("* *\n");printf("* 余额不足!*\n");printf("* 请重新操作*\n");printf("* *\n"); printf("* 1.返回 2.退出*\n"); printf("* *\n"); printf("********************************\n"); switch(getch()){case '1': qukuan();case '2': exit();}}beishu=z%100;if(beishu!=0){system("cls");delay();printf("********************************\n"); printf("* *\n"); printf("* 本ATM机只支持100 的人民币*\n"); printf("* 请重新操作*\n"); printf("* *\n"); printf("* 1.返回 2.退出*\n"); printf("* *\n"); printf("********************************\n"); switch(getch()){case '1': qukuan();case '2': exit();}}if(z==5000||z>5000){system("cls");printf("********************************\n"); printf("* *\n"); printf("* 每次取款不能超过5000 元*\n"); printf("* 请重新操作*\n"); printf("* *\n"); printf("* 1.返回 2.退出*\n"); printf("* *\n"); printf("********************************\n"); switch(getch()){case '1': qukuan();case '2': exit();}}YU_E=YU_E-z;success();}//========================================================================= =================////==============================================存款函数=============================================//void cunkuan(){long int temp;system("cls");printf("********************************\n");printf("* *\n");printf("* 请放入人民币*\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("* *\n");printf("********************************\n");gotoxy(14,3);scanf("%d",&temp);while(temp<0){system("cls");printf("********************************\n");printf("* *\n");printf("* 非法存款*\n");printf("* 请重新放入人民币*\n");printf("* *\n");printf("* 取消确定*\n");printf("* *\n");printf("********************************\n");gotoxy(14,4);scanf("%d",&temp);}YU_E=YU_E+temp;success();}//========================================================================= ========================////===================================光标位置函数=========================================//void gotoxy(int x,int y){COORD coord;coord.X=x;coord.Y=y;SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord );}//========================================================================= ==============////===========================================简答延时函数===========================================//void delay(){long int bl1;int bl2;for(bl1=655356;bl1>0;bl1--){for(bl2=410;bl2>0;bl2--);}}//========================================================================= ==========================////=======================操作成功函数===========================//void success(){system("cls");printf("********************************\n");printf("* *\n");printf("* *\n");printf("* 系统正在处理*\n");printf("* 请稍候... *\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();system("cls");printf("********************************\n");printf("* *\n");printf("* 操作已成功*\n");printf("* *\n");printf("* 1.返回 2.退出*\n");printf("* *\n");printf("* *\n");printf("********************************\n");switch(getch()){case '1':caozuo(); break;case '2':exit(); break;}}//==============================================================////==========================系统退出函数===========================// void exit(){system("cls");printf("********************************\n");printf("* *\n");printf("* *\n");printf("* 欢迎您的再次使用*\n");printf("* 系统正在退出... *\n");printf("* *\n");printf("* *\n");printf("********************************\n");delay();delay();enter_ATM();}//================================================================////============== 简单转移函数=============//void zhuangyi(){mima();}//========================================//三、部分效果截图。