C语言ATM机实现
C语言ATM自动存取款机全套代码

C语言ATM自动存取款机全套代码#include#include#include#include#include#define N 6char b[N]={'8','8','8','8','8','8'};//存放密码int money=5000;int securitytime=3;void Login();void JieMian();void SaveMoney();void GetMoney();void Query();void Return();//密码验证函数,验证成功返回1,否则返回0void Login(){char a[20],ch; //用户登录密码,用以验证int i=0,n=1,k;printf("\n\t\t欢迎使用ICBC ATM自动存取款机\n"); printf("\n请输入密码:");for(n=1;n<=5;n++){while((a[i]=getch())!=13){ i=i+1;printf("*");//将用户输入的密码以*显示}for(k=0;k<6;k++)if(a[k]!=b[k]) break;if (k==6){printf("\n密码正确,请继续!!\n");JieMian(); }else//printf("\n密码错误,请重新输入:\n");printf("\n密码错误,您还有%d次机会,请重新输入:\n",5-n);}printf("\n您已经输入5次错误,您的卡将被没收,请去相关网点办理!\n");exit(1);}// 界面设计void JieMian(){int SelectKey;//system("cls");//清屏幕函数while(1){puts("\n= = = = = = = = = = = = = = = =");puts("| 请选择相应功能: |");puts("| 1. 修改密码PassWord |");puts("| 2. 查询功能Query |");puts("| 3. 取款功能Get Money |");puts("| 4. 存款功能Save Money | ");puts("| 5. 转帐功能Trans Money | ");puts("| 6. 退出功能Return | ");puts("\n= = = = = = = = = = = = = = = = ");printf("\n请选择功能:");scanf("%d",&SelectKey);switch(SelectKey){ case 1:printf("\n修改密码功能\n");//PassWord();break;case 2:printf("\n查询功能\n");Query();break;case 3:printf("\n取款功能\n");GetMoney();break;case 4:printf("\n存款功能\n");SaveMoney();break;case 5:printf("\n转帐功能\n");//Trans();break;case 6:printf("\n退出功能\n");Return();break;}}}/*Query查询功能*/void Query(){system("cls");puts("================================== ==");printf("| Your Query balance is $%ld |\n",money);puts("| Press any key to return... |");puts("================================== ==");return;}/*GetMoney取钱功能*/void GetMoney(){char GetMoney;char kahao[20];long y;//输入待转入的相关信息//卡号,姓名do{puts("=================================");puts("| Please select GetMoney: |");puts("| 1. $100 |");puts("| 2. $200 |");puts("| 3. other |");puts("| 4. Return |");puts("=================================");GetMoney = getch();}while(GetMoney!='1'&&GetMoney!='2'&&GetMoney!='3' && GetMoney!='4');switch(GetMoney){case '1':system("cls");if(money>100){puts("================================== =========");puts("| Your GetMoney is $100,Thank you! |");puts("| Press any key to return... |");puts("===========================================");money=money-100;printf("\n您的余额为%d",money);}else printf("\n您的余额不足!");getch();break;case '2':system("cls");if(money>200){puts("================================== ======");puts("| Your GetMoney is $200,Thank you! |");puts("| Press any key to return... |");puts("================================== ======");money=money-200;printf("\n 您的余额为%d",money);}else printf("\n您的余额不足!");getch();break;case '3':system("cls");printf("please get some money:");scanf("%ld",&y);if(money>y){money=money-y;printf("\n您的余额为%d",money);}else{printf("\n您的余额不足!");printf("\n您的余额为%d",money);}getch();break;case '4': break;}return;}/*SaveMoney存钱功能*/void SaveMoney(){ char SaveMoney;long y;do{system("cls");puts("================================== ========");puts("| Please select Save Money: |");puts("| 1. $100 |");puts("| 2. $500 |");puts("| 3. $1000 |");puts("| 4. other |");puts("| 5. Return |");puts("================================== ========");SaveMoney = getch();}while(SaveMoney!='1'&&SaveMoney!='2'&& SaveMoney!='3'&&SaveMoney!='4'&&SaveMoney!='5');switch(SaveMoney){ case '1':{{system("cls");puts("================================== =========");puts("| Your save money is $100,Thank you! |");puts("| Press any key to return... |");puts("================================== ========");}money=money+100;printf("\n您的余额为%d",money);getch();}break;case '2':{system("cls");puts("================================== ============");puts("| Your Save Money is $500,Thank you! |");puts("| Press any key to return... |");puts("================================== ============");money=money+500;printf("\n您的余额为%d",money);getch();}break;case '3':{system("cls");puts("============================================");puts("| Your Save Money is $1000,Thank you! |");puts("| Press any key to return... |");puts("================================== ==========");money=money+1000;printf("\n您的余额为%d",money);getch();}break;case '4':{system("cls");puts("================================== ===========");puts("| Your Save some Money,Thank you! |");puts("| Press any key to return... |");puts("================================== ===========");puts("please save some money:");scanf("%ld",&y);if(y%100!=0)printf("该存款机只能处理整百的操作,请核查!!");else{money=money+y;printf("\n您的余额为%d",money);}getch();}break;case '5':break; }return;}/*Return,退出功能*/void Return(){system("cls");puts("================================== ==");puts("| Thank you for your using! |");puts("| RETURN! |");puts("================================== ==");exit(1);}//主函数int main(){Login();}上一页下一页。
自动取款机源代码(C and C )

自动取款机源代码(C and C++).txt如果你看到面前的阴影,别怕,那是因为你的背后有阳光!我允许你走进我的世界,但绝不允许你在我的世界里走来走去。
#include <iostream.h>#include <fstream.h>#include <stdio.h>#include <time.h>#include <string.h>#include <windows.h>struct Acount{char name[20];int cardnu;int code;double Ban;char time[26];};struct Acount user;int i;void Welcome(){cout<<"* *"<<endl;cout<<"* 欢迎使用新利银行ATM机*"<<endl;cout<<"*****************************************\n"<<endl;cout<<"Please select your native lanuage <请选择用户语言>\n"<<endl;cout<<" 1. English\n 2. 中文\n 3. Exit <退出系统>\n"<<endl;cout<<"Enter you choice <between 1to 3>:";}char *_time (){time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo = localtime ( &rawtime );return asctime (timeinfo);}int find(int card){ i=-1;ifstream in("acount.dat",ios::binary|ios::nocreate);if(!in)return 0;while(!in.eof()){ i++;in.read((char * )&user,sizeof(user));if(user.cardnu==card){in.close();return 1;}}in.close();return 0;}int cardnumber2(){int n;fstream file("账号.dat",ios::binary|ios::nocreate|ios::in|ios::out); if(!file){cout<<"不能打开此文件"<<endl;return 0;}n=0;while(!n){file.read((char*)&n,sizeof(int));}int m=0;file.seekp(-4,ios::cur);file.write((char*)&m,sizeof(int));file.close();return n;}void print2(){system("cls");char time[25];strcpy(time,_time());time[24]=' ';cout<<" AUTOMATIC TELLER MACHINE - HENER BANKING SYSTEM"<<endl;cout<<" CARDHOLDER BILL COPY 持卡人存根"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| 终端机号 | 10203 |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| 卡别 | 信用卡 |"<<endl;cout<<"| 卡号 | "<<user.cardnu<<" |"<<endl; cout<<"| | |"<<endl;cout<<"| 交易类型 | 银行卡开户 |"<<endl;cout<<"| 交易批号 | 198447 |"<<endl;cout<<"| 时间/日期 | "<<time<<" |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| CAEDHOLEDER SINATURE | |"<<endl;cout<<"| 持卡人签名 | |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<" I ACKNOWLEDGE SATISFACTORY RECEIPT OF RELATIVE SERVICES"<<endl;cout<<" 我同意以上条款"<<endl;}void print2(int x){system("cls");char time[25];strcpy(time,_time());time[24]=' ';cout<<" AUTOMATIC TELLER MACHINE - HENER BANKING SYSTEM"<<endl;cout<<" CARDHOLDER BILL COPY 持卡人存根"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| 终端机号 | 10203 |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endcout<<"| 卡别 | 信用卡 |"<<endl;cout<<"| 卡号 | "<<user.cardnu<<" |"<<endl; cout<<"| | |"<<endl;if(x>0)cout<<"| 交易类型 | 现金存款 |"<<endl;else{ x=-x;cout<<"| 交易类型 | 现金取款|"<<endl;}cout<<"| 交易批号 | 198447 |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| 时间/日期 | "<<time<<" |"<<endl;cout<<"| 交易金额 | "<<x<<" |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<"| CAEDHOLEDER SINATURE | |"<<endl;cout<<"| 持卡人签名 | |"<<endl;cout<<"+-----------------------------------------------------------------+"<<end l;cout<<" I ACKNOWLEDGE SATISFACTORY RECEIPT OF RELATIVE SERVICES"<<endl;cout<<" 我同意以上条款"<<endl;cout<<"按任意键返回";cin.get();cin.get();}void Saving2(){char ch;int Tem;cout<<"请将现金送到指定入口 :";cin>>Tem;user.Ban+=Tem;fstream out("acount.dat",ios::in|ios::out|ios::binary);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"\t\t\t你已存入"<<Tem<<endl;Sleep(3000);cout<<"需要打印凭条吗?(Y = 是. N = 否):"<<endl;cin>>ch;if(ch=='y'||ch=='Y')print2(Tem);}void Drawmoney2(){char ch;int Tem;cout<<"请输入所取金额(必须是100的整数倍) :";cin>>Tem;while(Tem%100){cout<<"Sorry,请重新输入";cin>>Tem;}user.Ban-=Tem;fstream out("acount.dat",ios::in|ios::out|ios::binary);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"请在30秒内取走现金;"<<Tem<<endl;Sleep(3000);cout<<"需要打印凭条吗 ? (y = 是,n = 否):";cin>>ch;if(ch=='y'||ch=='Y')print2(-Tem);}void Change2(){int tem,j=3;cout<<"请输入你的原密码";do{cin>>tem;j--;if(tem==user.code){cout<<"请输入你的新密码:";cin>>tem;user.code=tem;fstream out("acount.dat",ios::binary|ios::in|ios::out);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"密码修改成功,请记下此密码 "<<tem<<endl;Sleep(2000);j=0;cout<<"按任意键返回";cin.get();cin.get();}elsecout<<"密码错误请重新输入 (你还有"<<j<<"次输入机会)";}while(j);}void Select2(){int choice,code;cout<<"请输入你的密码 ";do{cin>>code;if(user.code==code)break;elsecout<<"密码错误,请重新输入 ";}while(2);do{cout<<"请选择业务功能"<<endl;cout<<" 1. 人民币存款业务\n 2. 人民币取款业务\n 3. 余额查询\n 4. 修改密码\n 5. 返回\n"<<endl;cout<<"请选择<1 到 5 > :";do{cin>>choice;switch(choice){case 1: Saving2(); break;case 2: Drawmoney2(); break;case 3: { cout<<"你卡上的余额为 :"<<user.Ban<<endl ; cout<<"按任意键返回"<<endl;getchar();break;}case 4: Change2(); break;case 5:return ;break;default:cout<<"输入不合法,请重新输入:";}}while(choice>5||choice<1);}while( choice!=5);}void TellerMach2(){int tem;char ch;do{cout<<"请插入银行卡(0 = 取消):";cin>>tem;if(tem==0)break;else{if(find(tem)==0){cout<<"对不起,本ATM机不接受你的银行卡!(按F键继续,按任意键返回上一层)"<<endl;cin>>ch;if(ch!='F'||ch=='f')break;}else Select2();}}while(1);}void Management2(){int choice;cout<<"请选择你的业务功能\n\n 1. 银行卡开户业务\n 2. 返回\n"<<endl;cout<<"请选择<1 到 2>:";do{cin>>choice;if(choice==2)return ;else if(choice==1){ofstream out("acount.dat",ios::binary|ios::app);cout<<"请输入你的姓名:";cin>>;user.cardnu=cardnumber2();cout<<"你的账号是"<<user.cardnu<<endl;int n;cout<<"\n请输入你的密码 (必须是6位):";do{cin>>n;if(n<100000)cout<<"密码位数不够,请重新输入:";if(n>999999)cout<<"密码过长,请重新输入:";}while(n<100000||n>999999);user.code=n;user.Ban=10.0;strcpy(user.time,_time());out.write((char *)& user,sizeof(user));out.close();cout<<"是否打印凭条吗?(y = 是,n = 否 ):";char ch;cin>>ch;if(ch=='y'||ch=='Y')print2();cout<<"按任意键返回上一层"<<endl;getchar();break;}elsecout<<"输入错误!请重新输入:";} while(1) ;}int cardnumber1(){int n;fstream file("账号.dat",ios::binary|ios::nocreate|ios::in|ios::out);if(!file){cout<<"Can't open the file"<<endl;return 0;}n=0;while(!n){file.read((char*)&n,sizeof(int));}int m=0;file.seekp(-4,ios::cur);file.write((char*)&m,sizeof(int));file.close();return n;}void print1(){system("cls");char time[25];strcpy(time,_time());time[24]=' ';cout<<" AUTOMATIC TELLER MACHINE - HENER BANKING SYSTEM"<<endl;cout<<" CARDHOLDER BILL COPY 持卡人存根"<<endl;cout<<"+-----------------------------------------------------------------+"<<endcout<<"| TERMINAL ID | 10203 |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<"| CARD TYPE | CREDIT CARD OF HENRY BANK |"<<endl;cout<<"| CARD NUMBER | "<<user.cardnu<<"|"<<endl;cout<<"| | |"<<endl;cout<<"| TRENS TYPE | OPEN ACOUNT |"<<endl;cout<<"| BATCH NO. | 198447 |"<<endl;cout<<"| | |"<<endl;cout<<"| DATA/TIME | "<<time<<" |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<"| CAEDHOLEDER SINATURE | |"<<endl;cout<<"| 持卡人签名 | |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<" I ACKNOWLEDGE SATISFACTORY RECEIPT OF RELATIVE SERVICES"<<endl;cout<<" 我同意以上条款"<<endl;cout<<"Press any ken to exit";cin.get();cin.get();}void print1(int x){system("cls");char time[25];strcpy(time,_time());time[24]=' ';cout<<" AUTOMATIC TELLER MACHINE - HENER BANKING SYSTEM"<<endl;cout<<" CARDHOLDER BILL COPY 持卡人存根"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<"| TERMINAL ID | 10203 |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<"| CARD TYPE | CREDIT CARD OF HENRY BANK |"<<endl;cout<<"| CARD NUMBER | "<<user.cardnu<<"|"<<endl;cout<<"| | |"<<endl;if(x>0)cout<<"| TRANS TYPE | DEPOSIT CASH |"<<endl;else{ x=-x;cout<<"| TRANS TYPE | TAKING CASH |"<<endl;}cout<<"| BATCH NO. | 198447 |"<<endl;cout<<"| | |"<<endl;cout<<"| TOTAL AMOUNT | "<<x<<" |"<<endl;cout<<"| DATA/TIME | "<<time<<" |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<"| CAEDHOLEDER SINATURE | |"<<endl;cout<<"| 持卡人签名 | |"<<endl;cout<<"+-----------------------------------------------------------------+"<<endl;cout<<" I ACKNOWLEDGE SATISFACTORY RECEIPT OF RELATIVE SERVICES"<<endl;cout<<" 我同意以上条款"<<endl;cout<<"Press any ken to exit";cin.get();cin.get();}void Saving1(){char ch;int Tem;cout<<" Please deliver cash to appointment entrance :";cin>>Tem;user.Ban+=Tem;fstream out("acount.dat",ios::in|ios::out|ios::binary);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"\t\t\tYou have deposit "<<Tem<<endl;Sleep(3000);cout<<"Do you want to print?(Y/N):"<<endl;cin>>ch;if(ch=='y'||ch=='Y')print1(Tem);}void Drawmoney1(){char ch;int Tem;cout<<" Please input the amount of moneey you want (it must be is the mutipleof 100) :";cin>>Tem;while(Tem%100){cout<<"Sorry,Please input again";cin>>Tem;}user.Ban-=Tem;fstream out("acount.dat",ios::in|ios::out|ios::binary);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"Please take the cash in 30 seconds;"<<Tem<<endl;Sleep(3000);cout<<"Do you want a print ? (y\n):";cin>>ch;if(ch=='y'||ch=='Y')print1(-Tem);}void Change1(){int tem,j=3;cout<<"Please injout you original password";do{cin>>tem;j--;if(tem==user.code){cout<<"Please input you new password:";cin>>tem;user.code=tem;fstream out("acount.dat",ios::in|ios::out|ios::binary);out.seekp(i*sizeof(user),ios::beg);out.write((char*)&user,sizeof(user));out.close();cout<<"Revise the password successfully, make note of this password please "<<tem<<endl;Sleep(2000);j=0;cout<<"press any key to exit";cin.get();cin.get();}elsecout<<"password error ,input again (You still have "<<j<<" chances)";}while(j);}void Select1(){int choice,code;cout<<"Please input your password ";do{cin>>code;if(user.code==code)break;elsecout<<"Password error ,input again ";}while(2);do{cout<<"Choose the business function please"<<endl;cout<<" 1. Bank deposit of RMB\n 2. Taking RMB \n 3. inquire balance\n 4. Revise the password\n 5. exit\n"<<endl;cout<<"Please choose bettween <1 to 5 > :";do{cin>>choice;switch(choice){case 1: Saving1(); break;case 2: Drawmoney1(); break;case 3: { cout<<"Your balance of acount is :"<<user.Ban<<endl ; cout<<"press any key to exit"<<endl;getchar();break;}case 4: Change1(); break;case 5:return ;break;default:cout<<"input error ,Please input again:";}}while(choice>5||choice<1);}while( choice!=5);}void TellerMach1(){char ch;do{cout<<"Please insert the bank card(0 = cancel):";cin>>user.cardnu;if(user.cardnu==0)break;else{if(find(user.cardnu)==0){cout<<"Sorry ,your card is accepted !(Press F to continue,Press enter to exit)"<<endl;cin>>ch;if(ch!='F'||ch=='f')break;}else Select1();}}while(1);}void Management1(){int choice;cout<<"Please choose your business functions\n\n 1.Bank Card Account Business\n 2. Exit\n"<<endl;cout<<"Please choose between <1 to 2>:";do{cin>>choice;if(choice==2)return ;else if(choice==1){ofstream out("acount.dat",ios::binary|ios::app);cout<<"Please input your name:";cin>>;user.cardnu=cardnumber1();cout<<"Your acount is"<<user.cardnu<<endl;int n;cout<<"\nPlease input your password (the length must be 6):";do{cin>>n;if(n<100000)cout<<"The length of password is too short,please change again:";if(n>999999)cout<<"The length of password is too large,please change again:";}while(n<100000||n>999999);user.code=n;user.Ban=10.0;strcpy(user.time,_time());out.write((char *)& user,sizeof(user));out.close();cout<<"Do you want to print?(y/n ):";char ch;cin>>ch;if(ch=='y'||ch=='Y')print1();cout<<"Press any key to exit "<<endl;getchar();break;}elsecout<<"input error , please input again:";} while(1) ;}void Chinese(){int choice;do{cout<<"\n\n 请选择你的模式 \n"<<endl;cout<<" 1. ATM柜员机\n 2.银行业务管理\n 3. 帮助\n 4. 返回\n"<<endl;cout<<"请选择 <1 到 4>:";do{cin>>choice;switch(choice){case 1 : TellerMach2(); break;case 2 : Management2(); break;case 3 : { cout<<" 你必须先在“银行业务管理”里开户才能使用本取款机,按任意键返回";cin.get();cin.get();break;}case 4 : { return ; break;}default : cout<<"输入不合法,请重新输入 :";}if(choice==3)cout<<"\n输入你的选择:";}while(choice!=1&&choice!=2);}while(1);}void English(){int choice;do{cout<<"\n\nPlease input patten\n"<<endl;cout<<" 1. ATM\n 2.Banking Management\n 3.Help\n 4. Exit\n"<<endl;cout<<"Please choose between <1 to 4>:";do{cin>>choice;switch(choice){case 1 : TellerMach1(); break;case 2 : Management1(); break;case 3 : { cout<<" You must open a acount in 《Banking Management》before you use the ATM,Press any key to continue";cin.get();cin.get();break;}case 4 : { return ; break;}default : cout<<"input error,Please inout again";}if(choice==3)cout<<"\n Please your choice :";}while(choice!=1&&choice!=2);}while(1);}int main(){Welcome();int choice;do{cin>>choice;if(choice==3)break;else if(choice==1)English();else if(choice==2)Chinese();else cout<<"输入错误,请重新输入:";}while(choice!=1&&choice!=2);system("cls");cout<<"\n\n\n\n\t\t\t非常感谢你的使用!!\n"<<endl; cout<<"按任意键结束";cin.get();cin.get();return 0;}。
c语言Atm的简单实现

信息科学与工程学院《数据结构》课程设计报告课程设计名称: ATM得设计与实现专业班级:学生姓名:学号: 2指导教师:课程设计时间:2016-2017学年第二学期计算机科学与技术专业课程设计任务书目录1 需求分析 (1)1、1存款 (1)1、2取款 (1)1、3查瞧流水账 (1)1、4排序 (1)1、5修改密码 (2)1、6查瞧ATM使用情况 (2)1、7录入信息 (2)1、8恢复限额 (2)2概要设计 (3)2、1数据类型得定义 (3)2、2功能模块结构图 (4)3运行环境 (6)4开发工具与编程语言 (6)5详细设计 (6)5、1主函数 (7)5、2 录入函数 (8)5、3加载与存储函数 (8)5、4 输出流水账函数 (9)5、5 查瞧ATM使用情况函数 (9)6程序编码 (10)7运行结果 (12)8心得体会 (14)9参考文献 (14)1需求分析ATM自助机——便于储户存钱、取钱。
按功能分为两大系统:个人用户系统与银行后台系统;个人用户系统————登录(输入正确得账号或密码才能进入)、存款、取款、查瞧流水账(查瞧用户最近存取款情况)、排序(此为超级用户功能,可以查瞧所有人得余额)、修改密码(修改个人登录密码);银行后台系统————atm使用情况(便于银行人员管理atm机)、录入信息(包括录入用户及其银行卡号信息与录入atm 信息)、恢复限额(每天6点恢复所有人得取款上限)。
1、1存款输入金额,存入ATM,当前AMT以及自己得余额会增加并且自动生成流水账。
1、2取款输入取款金额,判断它就是否小于ATM总金额并且小于当天得限额,当前得ATM金额减少,自己得余额与限额也会减少。
1、3查瞧流水账输出自己近段时间内得所有操作,发生额,以及时间。
1、4排序此为超级用户功能,实现以余额对所有用户排序并且输出一些信息。
1、5修改密码修改用户登录密码。
1、6查瞧ATM使用情况查瞧每一台ATM得使用情况,输出存取款发生额及其次数。
用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机编程代码下面是一个简单的C语言ATM机编程代码示例:#include <stdio.h>// ATM机账户结构体typedef struct {int account_number;float balance;} Account;// 初始化账户信息void init_account(Account *account, int acc_no, float bal) { account->account_number = acc_no;account->balance = bal;}// 存款void deposit(Account *account, float amount) {account->balance += amount;}// 取款void withdraw(Account *account, float amount) {if (account->balance >= amount) {account->balance -= amount;} else {printf("余额不足!\n");}}// 查询余额void check_balance(Account *account) {printf("当前余额:%.2f\n", account->balance); }// 主函数int main() {Account my_account;int choice;float amount;// 初始化账户信息init_account(&my_account, 123456789, 5000.0);// ATM机操作菜单printf("欢迎使用ATM机!\n");printf("请选择操作:\n");printf("1. 存款\n");printf("2. 取款\n");printf("3. 查询余额\n");printf("0. 退出\n");do {printf("请输入操作代码:");scanf("%d", &choice);switch (choice) {case 1:printf("请输入存款金额:");scanf("%f", &amount);deposit(&my_account, amount); break;case 2:printf("请输入取款金额:");scanf("%f", &amount);withdraw(&my_account, amount); break;case 3:check_balance(&my_account);break;case 0:printf("退出程序!\n");break;default:printf("无效的操作!\n");}} while (choice != 0);return 0;}。
自动取款机(ATM)模拟程序(C#控制台应用程序)

自动取款机(ATM)模拟程序一、需求我们需要设计一个具备如下功能的ATM模拟程序。
●开户:用户能够通过ATM来开设帐号,开户需要设置密码。
●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。
●管理帐号:用户登录到帐号上后,能够进行如下的操作。
■存款:将指定的款项存到帐号中。
■取款:从帐号中取出指定的款项。
■查询余额:查询帐号的余额。
■修改密码:修改帐号的密码。
二、分析面向对象编程的第一步是进行面向对象分析。
面向对象分析的目标是建立问题领域的模型,包括如下模型。
●功能模型:即画出每一个功能要求的用例图。
●对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对象、对象的属性、对象间的关系。
●动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。
1.功能模型根据我们的需求,可以很容易地画出A TM模拟程序的用例图:可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。
要管理账号,就必须首先登录帐号或者开户。
管理帐号的功能包括存款、取款、查询余额和修改密码。
2.对象模型ATM是银行相连的设备,因此银行是A TM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。
此外,需要一个程序来启动ATM。
因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、A TM、银行及帐号。
1)帐号类Account帐号类Account包含所有的帐号信息负责所有的帐号操作。
基本的帐号信息包括:●帐号名name●帐号密码password●帐号余额balance主要的帐号操作包括:●登录Login●存款Deposit●取款Withdraw●查询余额Get_Balance●修改密码ChangePassword2)银行类Bank银行类Bank的本质就是一组帐号的组合,并负责管理帐号。
c语言程序设计atm自动取款机实验报告

课程设计报告课程类别:本科课程名称:程序设计基础(C语言)课程代号:指导教师:银行ATM自动取款机系统课程设计姓名:学号:姓名:学号:姓名:学号:学院:班级:目录1.课程设计内容..................................................2.课程设计要求.................................................. 3.可行性研究................................................... 4.需求分析.....................................................5.概要设计......................................................5.1 功能模块图...............................................5.2 功能模块描述.............................................5.3数据结构 .................................................6.详细设计......................................................6.1 功能流程图...............................................6.2 重点设计.................................................7.测试与调试....................................................8.总结..........................................................8.1 心得体会..................................................8.2 不足与改进................................................9.参考文献......................................................1.课程设计内容模拟银行的自动取款机ATM使用过程中的界面和用户交互过程2.课程设计要求(1)要求利用面向过程的方法以及C语言的编程思想来完成系统的设计;(2)在系统的设计中,要求运用菜单和文件实现系统功能。
C语言程序设计任务驱动式教程美化详细版项目实训——ATM功能实现

安全性
可靠性
高效性
ATM系统涉及到用户的金融信息和个人信息,因此需要保证系统的安全性,防范各种安全威胁。
ATM系统需要具备高可靠性和稳定性,确保系统的正常运行和使用。
ATM系统需要快速、准确地完成用户请求,提高系统的效率。
系统性能指标
ATM系统对用户请求的响应时间应该尽可能短,以提供更好的用户体验。
详细描述
03
atm系统的数据流程和处理
03
更新账户余额等信息并输出相应提示。
数据流程设计
01
用户输入取款或存款的金额、账号等信息。
02
系统根据输入信息进行相应处理:验证用户输入的账号和密码是否正确,检查账户余额,处理交易等。
定义结构体类型包括:用户信息、账户信息、密码等。
初始化用户信息和账户信息,将密码保存在加密文件中。
记录每次测试的结果,包括测试用例执行的通过率、错误率和异常情况等。
测试结果
根据测试结果进行分析,找出不足之处,提出改进措施和建议,为后续开发提供参考。
结果分析
通过性能测试,检测系统的响应时间、吞吐量等指标是否满足要求。
性能测试
检测系统的安全性是否可靠,是否存在漏洞和安全隐患,需要进行安全性测试。
安全性测试
总结词
取款功能是atm系统中关键的功能之一,需要考虑取款金额、账户余额以及取款操作的安全性等问题。
详细描述
设计一个取款函数,参数为取款金额和用户账号,函数内部首先读取数据库或内存中存储的用户信息,验证账户余额是否足够支付所要求取的金额,如果余额不足则无法取款。如果余额足够,则扣除相应金额并将取款记录写入日志中,同时还需要进行必要的异常处理。
06
atm系统的总结与展望
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
//提供了strcmp()函数
#include<string.h>
struct student
{
char xm[20];//姓名
char mm[10];//密码
int je;//金额
int zh;//帐号
};
void main()
{
int i;
int k=0;
int count=1000;
int f;
student st[10]={"","",0,0};
bool flag=false;
do
{
printf("1--注册2--登录3--取款4--存款5--查询0--退出\n");
scanf("%d",&i);
if (i==1)
{
printf("输入姓名:");
scanf("%s",&st[k].xm);
printf("输入密码");
scanf("%s",&st[k].mm);
st[k].zh=count++;
printf("你的帐号为%d\n",st[k].zh);
k++;
}
else if (i==2)
{
int zh;
char mm[20];
printf("输入卡号");
scanf("%d",&zh);
printf("输入密码");
scanf(" %s",&mm);
for(int j=0;j<10;j++)
{
if(st[j].zh==zh && strcmp(st[j].mm,mm)==0)
{
flag=true;
printf("找到了");
f=j;
break;
}
}
}
else if (i==4)
{
if (flag!=true)
{
printf("您还没有登录");
}
else
{
printf("输入存款金额");
int je;
scanf("%d",&je);
st[f].je=st[f].je+je;
printf("存款成功");
}
}
else if (i==3)
{
if (flag!=true)
{
printf("您还没有登录");
}
else
{
printf("输入取款金额");
int je;
scanf("%d",&je);
if (je>st[f].je)
{
printf("余额不足");
}
else
{
st[f].je=st[f].je-je;
printf("取款成功");
}
}
}
else if (i==5)
{
printf("您的余额为%d\n",st[f].je);
}
}
while(i!=0);
}。