基于C语言设计ATM机

合集下载

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语言ATM程序设计

C语言ATM程序设计

C说话程序实践【2 】试验报告一.试验目标1.函数的挪用2.构造体的运用3.文件的运用:打开.封闭.输入.输出等4.宏界说二.试验内容与试验步骤试验内容.道理剖析1.给出数据构造或函数界说构造体:struct clients{longintcard_number,card_password;char name[20];float money;}yonghu[3];card_number:银行卡号card_password:暗码name:用户名money:卡内金额自界说函数:voidfuction(float,int);用于登陆后的操作2.用流程图表示出来程序设计的思惟#include <stdlib.h>#define N 3 /*用户人数*/struct clients{longintcard_number,card_password;char name[20];float money;}yonghu[N];FILE *fp;inti;voidfuction(float,int);void main(){int j,number,password,times1=3,times2=3;printf(" 迎接运用中国扶植银行主动取款机!\n");fp = fopen("clients.txt","a+");if(getw(fp)==EOF){printf("用户文件未设置!\n");for(i=0;i<N;i++) /*文件不消失时,输入用户信息*/{printf("请输入第%d位用户的信息:\n",i+1);printf("银行卡号暗码用户名卡内金额\n");scanf("%d%d %s %f",&yonghu[i].card_number,&yonghu[i].card_password,yonghu[i].name,&yonghu[i].money); if(i==1){while((yonghu[i].card_number==yonghu[i-1].card_number)||(yonghu[i].card_password==yonghu[i-1].card_password)){printf("输入信息有反复!请从新输入\n");printf("请输入第%d位用户的信息:\n",i+1);printf("银行卡号暗码用户名卡内金额\n");scanf("%d %d %s %f",&yonghu[i].card_number,&yonghu[i].card_password,yonghu[i].name,&yonghu[i].money);}}if(i==2){while((yonghu[i].card_number==yonghu[i-1].card_number)||(yonghu[i].card_password==yonghu[i-1].card_password)||(yonghu[i].card_number==yonghu[i-2].card_number)||(yonghu[i].card_password==yonghu[i-2].card_password)){printf("输入信息有反复!请从新输入\n");printf("请输入第%d位用户的信息:\n",i+1);printf("银行卡号暗码用户名卡内金额\n");scanf("%d %d %s %f",&yonghu[i].card_number,&yonghu[i].card_password,yonghu[i].name,&yonghu[i].money);}}fprintf(fp,"%d %d %s %f",yonghu[i].card_number,yonghu[i].card_password,yonghu[i].name,yonghu[i].money); putc('\n',fp);}}fclose(fp);printf("\n\n 请登录体系\n"); /*登录体系,输入卡号和暗码*/printf("请输入您的银行卡号:\n");scanf("%d",&number);printf("请输入您的暗码:\n");scanf("%d",&password);fp = fopen("clients.txt","r+");for(i=0;i<N;i++){fscanf(fp,"%d %d %s %f",&yonghu[i].card_number,&yonghu[i].card_password,yonghu[i].name,&yonghu[i].mon ey);}fclose(fp);for(i=0;i<N;i++) /*断定卡号及暗码是否匹配*/{if((number!=yonghu[0].card_number)&&(number!=yonghu[1].card_number)&&(number!=yonghu[2].car d_number)){if((times1-1)!=0){printf("该用户不消失!您还有%d次尝试机遇\n",times1-1);printf("请输入您的银行卡号:\n");scanf("%d",&number);printf("请输入您的暗码:\n");scanf("%d",&password);i=-1;}else{printf("尝试掉败!请按随意率性键退出:\n");exit(0);}times1--;}else{if(number==yonghu[i].card_number){if(password==yonghu[i].card_password){printf(" %s登陆成功!请持续您的操作\n",yonghu[i].name);j=i;i=5; /*登陆成功,退出轮回*/}else{if((times2-1)!=0){printf("暗码输入错误!您还有%d次尝试机遇\n",times2-1);printf("请输入您的暗码:\n");scanf("%d",&password);i=-1;}else{printf("尝试掉败!请按随意率性键退出:\n");exit(0);}times2--;}}}}fuction(yonghu[j].money,j);}voidfuction(float m,int k){floatsaved_money,fetched_money,payment;intphone_num,x,old_password,new_password;while(1){printf("1.存款.\n2.取款.\n3.充话费.\n4.修正暗码.\n5.显示菜单.\n0.退出体系.\n"); scanf("%d",&x);switch(x){case 0:printf("退出体系!");exit(0);case 1:printf("卡内金额: %f\n",m);printf("请输入存款金额:\n");scanf("%f",&saved_money);while(saved_money<0){printf("输入有误!请从新输入!\n");printf("请输入存款金额:\n");scanf("%f",&saved_money);}m += saved_money;printf("操作成功!卡内余额为: %f\n",m);yonghu[k].money = m;fp = fopen("clients.txt","w+");for(i=0;i<N;i++){fprintf(fp,"%d %d %s %f",yonghu[i].card_number,yonghu[i].card_password,yonghu[i].name,yonghu[i].money); putc('\n',fp);}fclose(fp);break;case 2:printf("卡内金额: %f\n",m);printf("请输入取款金额:\n");scanf("%f",&fetched_money);m -= fetched_money;while((fetched_money<0)||(m<0)){printf("输入有误!请从新输入!\n");m += fetched_money;printf("请输入取款金额:\n");scanf("%f",&fetched_money);m -= fetched_money;}printf("操作成功!卡内余额为: %f\n",m);yonghu[k].money = m;fp = fopen("clients.txt","w+");for(i=0;i<N;i++){fprintf(fp,"%d %d %s %f",yonghu[i].card_number,yonghu[i].card_password,yonghu[i].name,yonghu[i].money); putc('\n',fp);}fclose(fp);break;case 3:printf("卡内金额: %f\n",m);printf("请输入德律风号码:\n");scanf("%d",&phone_num);printf("请输入所交话费金额:\n");scanf("%f",&payment);m -= payment;while((payment<0)||(m<0)){printf("输入有误!请从新输入!\n");m += payment;printf("请输入所交话费金额:\n");scanf("%f",&payment);m -= payment;}printf("操作成功!卡内余额为: %f\n",m);yonghu[k].money = m;fp = fopen("clients.txt","w+");for(i=0;i<N;i++){fprintf(fp,"%d %d %s %f",yonghu[i].card_number,yonghu[i].card_password,yonghu[i].name,yonghu[i].money); putc('\n',fp);}fclose(fp);break;case 4:while(1){printf("请输入原暗码:\n");scanf("%d",&old_password);if(old_password==yonghu[k].card_password){printf("请输入新暗码:\n");scanf("%d",&new_password);printf("暗码修正成功!\n");yonghu[k].card_password = new_password;fp = fopen("clients.txt","w+");for(i=0;i<N;i++){fprintf(fp,"%d %d %s %f",yonghu[i].card_number,yonghu[i].card_password,yonghu[i].name,yonghu[i].money); putc('\n',fp);}fclose(fp);break;}elseprintf("暗码输入错误!\n");}break;case 5:break;default:printf("输入有误!请从新输入!\n");break;}}}三.试验进程与成果剖析1.现象:输入用户信息后,在登录体系时,输入第一个用户的信息,提醒该用户不消失解决办法:fp = fopen("clients.txt","r+");for(i=0;i<N;i++){fscanf(fp,"%d %d %s %f",&yonghu[i].card_number,&yonghu[i].card_password,yonghu[i].name,&yonghu[i] .money);}fclose(fp);2.现象:登录体系时,输入卡号或暗码超过3次错误后,仍能输入解决办法:增长变量times1=3(卡号输入错误的次数),times2=3(暗码输入错误的次数),当times-1>0时,提醒残剩尝试机遇,当times-1=0时,退出程序3.现象:存取款或充话费时,输入负数仍能运行解决办法:增长轮回:while(saved_money<0){printf("输入有误!请从新输入!\n");printf("请输入存款金额:\n");scanf("%f",&saved_money);}while((fetched_money<0)||(m<0)) {printf("输入有误!请从新输入!\n");m += fetched_money;printf("请输入取款金额:\n");scanf("%f",&fetched_money);m -= fetched_money;}while((payment<0)||(m<0)){printf("输入有误!请从新输入!\n");m += payment;printf("请输入所交话费金额:\n");scanf("%f",&payment);m -= payment;}四.试验成果总结五.创新的部分1.输入用户信息时,卡号与暗码不可反复2.登录体系时,假如卡号或暗码输入错误达三次,则主动退出程序3.为手机充话费时,请求输入德律风号码4.存款.取款.充话费时,输入钱数不能为负数,且当取款或充话费的金额超过卡内余额时,制止此操作5.增长了修正暗码的功效六.对试验的看法与建议1.心得领会:试验进程中应反复调试,不断发明问题,解决问题2.不足:输入用户信息或输入x值时,假如格局不准确,就会陷入逝世轮回。

用c语言编写的一个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系统课程设计一、课程目标知识目标:1. 理解C语言中基本的数据类型、语法结构及编程思想;2. 掌握ATM系统基本功能需求,如账户管理、存款、取款、查询余额等;3. 学会运用结构体、函数、文件操作等C语言知识点进行程序设计;4. 了解C语言在开发实际应用系统中的优势和局限。

技能目标:1. 能够运用所学知识编写C语言程序,实现ATM系统基本功能;2. 培养学生分析问题、设计解决方案、编写程序及调试程序的能力;3. 提高学生的逻辑思维能力和编程实践能力,为后续课程打下坚实基础。

情感态度价值观目标:1. 培养学生热爱计算机编程,增强学习C语言的兴趣和自信心;2. 培养学生具备良好的团队合作精神,学会与他人共同解决问题;3. 增强学生的创新意识,鼓励学生勇于尝试、不断探索,提高解决问题的能力;4. 通过实际项目的设计与实现,使学生认识到编程在实际生活中的应用价值,培养学生的社会责任感。

本课程针对高年级学生,在学生已具备一定C语言基础的前提下,通过设计ATM系统课程,将理论知识与实际应用紧密结合,提高学生的编程实践能力和创新意识。

课程要求学生在掌握基本知识技能的基础上,注重团队协作,充分发挥学生的主观能动性,培养具备实际编程能力的高素质人才。

二、教学内容1. C语言基础回顾:数据类型、运算符、控制语句、函数、数组、指针、结构体等;2. ATM系统需求分析:介绍ATM系统的基本功能,如用户登录、查询余额、取款、存款、转账、退出系统等;3. C语言实现ATM系统:- 设计系统框架,使用函数实现各功能模块;- 使用结构体存储和管理用户账户信息;- 文件操作实现用户账户数据的持久化存储;- 使用指针和数组处理用户操作和账户数据;- 实现用户界面交互,包括用户输入和输出处理;4. 编程实践与调试:指导学生动手编写代码,实现ATM系统各功能,并进行调试优化;5. 团队协作与项目展示:分组进行项目开发,培养学生团队协作能力,最终进行项目展示和评价。

C语言模拟ATM机的编写程序

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

c语言课程设计atm一、课程目标知识目标:1. 理解ATM机的基本功能需求,掌握利用C语言进行结构化程序设计的方法。

2. 学会使用C语言中的基本数据类型、控制结构、函数等知识点,实现ATM 系统的登录、查询余额、取款、存款和退出等功能。

3. 了解并在程序中应用模块化设计思想,实现代码的有效组织和复用。

技能目标:1. 能够运用所学知识,独立设计并编写一个简单的ATM系统程序。

2. 掌握调试程序的方法,能够解决程序中出现的常见错误。

3. 培养学生的计算思维和问题解决能力,能够将实际问题转化为程序逻辑。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发其学习积极性。

2. 增强学生的团队合作意识,学会在团队中分享观点和经验。

3. 引导学生认识到编程在现实生活中的应用,提高其社会责任感。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握C语言基础知识的基础上,通过实际案例教学,让学生深入了解ATM系统的实现过程,提高编程实践能力。

课程将目标分解为具体的学习成果,以便在后续的教学设计和评估中,更好地检验学生的学习效果。

二、教学内容本章节教学内容将围绕以下三个方面进行组织:1. C语言基础回顾:- 数据类型:整型、浮点型、字符型等。

- 控制结构:顺序结构、选择结构、循环结构。

- 函数:函数定义、函数调用、参数传递。

2. ATM系统功能实现:- 登录功能:用户身份验证。

- 查询余额:显示用户当前余额。

- 取款、存款功能:处理用户资金操作。

- 退出系统:安全退出程序。

3. 编程实践与调试:- 程序设计:模块化设计,编写各功能模块代码。

- 代码组织:合理划分文件,实现代码复用。

- 调试与优化:学习调试技巧,解决程序中的错误和性能问题。

教学内容按照以下进度安排:1. 第一周:回顾C语言基础知识,讲解ATM系统功能需求。

2. 第二周:学习函数定义和调用,实现ATM系统登录和查询余额功能。

3. 第三周:学习控制结构,实现ATM系统取款和存款功能。

c语言atm机编程代码

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;}。

c语言课程设计atm

c语言课程设计atm

c语言课程设计atm一、教学目标本章节的教学目标是让学生了解并掌握C语言在ATM(自动柜员机)系统开发中的应用。

具体目标如下:1.知识目标:使学生了解ATM系统的基本工作原理和C语言的特点,掌握C语言在ATM系统开发中的基本语法和操作。

2.技能目标:培养学生运用C语言编写ATM系统的简单程序,提高学生的编程能力和问题解决能力。

3.情感态度价值观目标:激发学生对计算机科学和编程的兴趣,培养学生的创新精神和团队合作意识。

二、教学内容本章节的教学内容主要包括以下几个部分:1.ATM系统的基本工作原理:介绍ATM系统的工作流程,让学生了解ATM系统的基本功能和操作。

2.C语言的特点和基本语法:讲解C语言的基本特点和语法规则,包括数据类型、变量、运算符、控制语句等。

3.C语言在ATM系统开发中的应用:介绍C语言在ATM系统开发中的具体应用,如用户界面设计、数据处理和后台管理等。

4.编程实践:通过编写ATM系统的简单程序,让学生实践所学知识,提高编程能力。

三、教学方法为了达到本章节的教学目标,我们将采用以下教学方法:1.讲授法:讲解ATM系统的基本工作原理和C语言的基本语法,为学生提供系统的知识结构。

2.案例分析法:分析实际ATM系统案例,让学生了解C语言在ATM系统开发中的应用。

3.实验法:安排编程实践环节,让学生动手编写ATM系统的简单程序,提高实际操作能力。

4.小组讨论法:学生进行小组讨论,培养学生的团队合作意识和问题解决能力。

四、教学资源为了支持本章节的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材,为学生提供系统的理论知识。

2.参考书:提供相关领域的参考书籍,丰富学生的知识视野。

3.多媒体资料:制作精美的PPT和教学视频,提高学生的学习兴趣和效果。

4.实验设备:准备计算机和相关的实验设备,确保学生能够进行实际编程操作。

五、教学评估本章节的教学评估将采用多元化的评估方式,以全面、客观地评价学生的学习成果。

c语言atm机课程设计

c语言atm机课程设计

c语言atm机课程设计一、课程目标知识目标:1. 学生能够理解C语言实现ATM机功能的基本原理,掌握相关的程序设计方法和技巧。

2. 学生能够运用C语言的基本语法,如数据类型、运算符、控制语句等,完成ATM机的功能模块编写。

3. 学生了解并掌握ATM机系统的基本流程,包括用户登录、查询余额、取款、存款和退出等操作。

技能目标:1. 学生能够运用结构体、数组等数据结构,实现ATM机用户账户信息的管理。

2. 学生通过本课程的学习,培养编程思维和问题解决能力,能够独立完成一个简单的C语言ATM机程序设计。

3. 学生掌握一定的调试技巧,能够对程序进行调试和优化,提高程序的正确性和运行效率。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,形成积极向上的学习态度。

2. 学生通过团队协作完成课程设计,培养沟通能力、团队协作精神和责任感。

3. 学生认识到编程在现实生活中的应用,体会科技对社会发展的推动作用,增强对科技创新的信心和追求。

课程性质:本课程为C语言程序设计课程的实践环节,旨在巩固和拓展学生所学知识,提高学生的编程能力和实际应用能力。

学生特点:学生已具备C语言基础知识,有一定的编程基础,但对实际项目开发经验不足,需要通过课程设计来提高实践能力。

教学要求:教师需引导学生掌握ATM机系统的基本原理和实现方法,注重培养学生的编程思维和实际操作能力,使学生在实践中不断提高。

同时,关注学生的情感态度价值观的培养,激发学生的学习兴趣和科技创新意识。

通过课程目标的分解和教学设计,确保学生能够达到预期的学习成果。

二、教学内容本课程教学内容紧密结合课程目标,围绕C语言实现ATM机功能进行组织,具体包括以下几部分:1. C语言基础回顾:数据类型、变量、运算符、控制语句(如if、switch、for、while等)及函数等基本知识点的复习。

2. 结构体和数组的应用:利用结构体实现用户账户信息的存储和管理,使用数组管理多个用户账户。

c课程设计atm机

c课程设计atm机

c 课程设计 atm机一、教学目标本章节的教学目标为:知识目标:使学生了解ATM机的基本原理和运作方式,理解ATM机在银行业务中的重要作用。

技能目标:培养学生运用编程语言实现ATM机的基本功能,如取款、存款、查询余额等。

情感态度价值观目标:培养学生对金融科技行业的兴趣,提高其创新意识和团队协作能力。

二、教学内容本章节的教学内容为:1.ATM机的基本原理和运作方式2.银行业务中ATM机的重要作用3.编程语言在实现ATM机基本功能中的应用三、教学方法本章节的教学方法为:1.讲授法:讲解ATM机的基本原理和运作方式,银行业务中ATM机的重要作用。

2.案例分析法:分析实际案例,让学生了解编程语言在实现ATM机基本功能中的应用。

3.实验法:学生分组进行实验,动手实现ATM机的基本功能。

四、教学资源本章节的教学资源为:1.教材:提供ATM机的基本原理、运作方式、银行业务中ATM机的重要作用等相关知识。

2.参考书:提供编程语言在实现ATM机基本功能中的应用等相关知识。

3.多媒体资料:提供ATM机的工作原理演示、实际案例分析等。

4.实验设备:提供计算机、编程语言开发环境、ATM机模拟器等,用于学生分组实验。

五、教学评估本章节的教学评估方式为:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的30%。

2.作业:布置相关编程练习题,评估学生对ATM机基本功能的掌握程度,占总评的30%。

3.考试:期末进行闭卷考试,测试学生对ATM机原理和编程语言应用的掌握程度,占总评的40%。

六、教学安排本章节的教学安排为:1.教学进度:共10课时,第1-4课时讲解ATM机的基本原理和运作方式,第5-8课时讲解编程语言在实现ATM机基本功能中的应用,第9-10课时进行实验和实践。

2.教学时间:每周一下午第1-2节课。

3.教学地点:计算机实验室。

七、差异化教学本章节差异化教学内容为:1.对于编程基础较好的学生,可以引导他们进行ATM机功能的拓展和创新。

基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料

基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料

基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料摘要演示程序时,初始卡号和密码为123456,系统能登录ATM柜员机系统,进入功能界面,根据功能界面的提示,然后由用户进行相应的功能操作。

本程序使用C++语言,操作时,使用文本命令行界面。

该程序还需要一些改进,就是没有采用图形菜单界面。

关键词:登陆界面修改密码取款查询信息功能界面目录摘要 ..................................................................... ................................... I 目录 ..................................................................... ..................................... II 第一章需求分析 ..................................................................... (1)1.1功能:..................................................................... (1)1.2操作:..................................................................... .............................. 1 第二章总体设计 ..................................................................... .. (2)2.1 模拟ATM柜员机程序功能图 (2)2.2 整个程序的流程图 ..................................................................... ......... 3 第三章详细设计与实现 ..................................................................... .. 43.1 类的设计 ..................................................................... . (4)3.2 ATM柜员机的登陆 ..................................................................... . (5)3.3 ATM柜员机修改密码功能 (5)3.4 ATM柜员机取款存款功能 (6)3.5 ATM柜员机查询余额功能 (7)第四章测试 ..................................................................... . (8)4.1程序开始运行的界面 ..................................................................... (8)4.2 正确输入帐号密码后的界面 (9)4.3 取钱成功后的界面 ..................................................................... . (9)4.4 程序结束时的界面 ..................................................................... ........ 10 参考文献 ..................................................................... . (11)第一章需求分析1.1功能:(1)模拟ATM柜员机程序;(2)修改密码。

c课程设计atm机

c课程设计atm机

c 课程设计atm机一、教学目标本章节的教学目标是让学生了解ATM机的基本原理和操作流程,掌握相关编程技能,培养他们解决实际问题的能力。

具体包括:1.知识目标:学生能够理解ATM机的工作原理,熟悉ATM机的各项功能,如取款、存款、查询等。

2.技能目标:学生能够运用C语言进行简单的ATM机模拟程序编写,培养他们的编程能力和逻辑思维能力。

3.情感态度价值观目标:通过学习ATM机的相关知识,学生能够认识到科技对生活的便利性,激发他们对计算机科学的兴趣和热情。

二、教学内容本章节的教学内容主要包括ATM机的基本原理、操作流程以及C语言编程。

具体安排如下:1.第一课时:介绍ATM机的基本原理和功能,让学生了解ATM机的工作方式。

2.第二课时:讲解ATM机的操作流程,让学生熟悉如何使用ATM机进行各种操作。

3.第三课时:介绍C语言编程基础,让学生掌握编写ATM机模拟程序所需的知识。

4.第四课时:引导学生运用C语言编写简单的ATM机模拟程序,培养他们的编程能力。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用以下教学方法:1.讲授法:讲解ATM机的基本原理、操作流程和C语言编程基础。

2.案例分析法:分析实际生活中的ATM机使用案例,让学生更好地理解ATM机的作用。

3.实验法:引导学生动手编写ATM机模拟程序,培养他们的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的C语言编程教材,为学生提供扎实的理论基础。

2.参考书:提供相关的ATM机技术资料,拓宽学生的知识视野。

3.多媒体资料:制作精美的PPT,直观地展示ATM机的工作原理和操作流程。

4.实验设备:准备计算机及相关设备,让学生能够顺利进行编程实践。

五、教学评估为了全面反映学生的学习成果,本章节的教学评估将采取以下方式:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以考察他们的学习态度和积极性。

atm系统c语言课程设计

atm系统c语言课程设计

atm系统 c语言课程设计一、课程目标知识目标:1. 掌握ATM系统的基础知识,理解其工作原理及功能模块;2. 学会运用C语言进行ATM系统的功能设计和实现;3. 熟悉结构体、函数、循环、条件语句等C语言基础语法在ATM系统中的应用。

技能目标:1. 能够运用结构体和函数设计ATM系统的用户界面和功能模块;2. 能够编写代码实现ATM系统的登录、查询、取款、存款和退出等功能;3. 能够对ATM系统进行测试和调试,找出并修复程序中的错误。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,提高他们运用C语言解决实际问题的能力;2. 培养学生的团队协作意识,让他们在课程设计中学会与他人合作共同完成任务;3. 培养学生严谨、细心的编程习惯,让他们认识到编程过程中规范和纪律的重要性。

分析课程性质、学生特点和教学要求,本课程旨在通过ATM系统课程设计,帮助学生巩固C语言基础知识,提高编程实践能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果。

通过分解课程目标为具体的学习成果,教师可以针对性地进行教学设计和评估,确保学生在课程结束后能够独立完成一个简单的ATM系统。

二、教学内容1. ATM系统基础知识介绍:讲解ATM系统的工作原理、功能模块及其在实际生活中的应用。

- 相关教材章节:第三章《C语言编程基础》2. C语言基础语法复习:回顾结构体、函数、循环、条件语句等基础语法知识。

- 相关教材章节:第一章《C语言概述》、第二章《C语言基本语法》3. ATM系统功能设计:分析ATM系统的需求,设计相应的功能模块,如登录、查询、取款、存款和退出等。

- 相关教材章节:第四章《函数与程序结构》、第六章《结构体与共用体》4. 编写ATM系统代码:运用C语言实现ATM系统的各个功能模块,并整合成一个完整的程序。

- 相关教材章节:第五章《数组与指针》、第七章《文件操作》5. 测试与调试:教授学生如何对ATM系统进行测试和调试,找出并修复程序中的错误。

c语言课程设计atm模拟系统

c语言课程设计atm模拟系统

c语言课程设计atm模拟系统一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,能够运用C语言设计并实现一个ATM模拟系统。

具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。

–理解函数、指针、 arrays、strings等核心概念。

–学习结构体和文件操作等高级特性。

2.技能目标:–能够使用C语言进行程序设计和调试。

–掌握结构化程序设计方法,具有良好的编程习惯。

–能够运用C语言设计并实现简单的数据结构和算法。

3.情感态度价值观目标:–培养学生对计算机科学的兴趣和热情。

–增强学生的团队协作能力和问题解决能力。

–培养学生的创新思维和自主学习能力。

二、教学内容教学内容以C语言的基本语法和编程技巧为主线,详细讲解ATM模拟系统的实现过程。

具体安排如下:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构如数组、链表、栈、队列等,并介绍其在ATM系统中的应用。

3.函数和指针:讲解函数的定义、调用和返回值,以及指针的概念和应用。

4.文件操作:讲解文件的打开、读写、关闭等操作,以及文件权限的管理。

5.高级特性:介绍结构体、共用体、位字段、动态内存分配等高级特性。

6.ATM模拟系统设计:讲解ATM系统的基本功能,如账号管理、密码验证、余额查询、存款取款等,并指导学生设计并实现相应的模块。

三、教学方法本课程采用多种教学方法相结合的方式,包括:1.讲授法:讲解C语言的基本语法和数据结构,引导学生理解并掌握相关概念。

2.案例分析法:分析ATM系统的实际案例,让学生了解并掌握ATM系统的设计和实现方法。

3.实验法:让学生动手编写代码,实现ATM模拟系统的各个功能模块,增强学生的实践能力。

4.讨论法:学生进行团队讨论,分享学习心得和问题解决经验,提高学生的团队协作能力。

四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。

c语言课程设计ATM机

c语言课程设计ATM机

c语言课程设计ATM机一、教学目标本章节的教学目标是让学生掌握C语言编程的基本知识,能够运用C语言设计简单的ATM机模拟程序。

具体来说,知识目标包括:理解C语言的基本语法、数据类型、运算符、控制结构等;技能目标包括:能够使用C语言编写并调试程序,掌握基本的编程技巧;情感态度价值观目标包括:培养学生对计算机编程的兴趣,提高学生解决问题的能力。

二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。

具体安排如下:1.第一课时:介绍C语言的基本语法和数据类型,讲解变量、常量的声明和使用。

2.第二课时:讲解运算符的用法,包括算术运算符、关系运算符、逻辑运算符等。

3.第三课时:介绍控制结构,包括条件语句(if-else)和循环语句(for、while)。

4.第四课时:讲解函数的定义和调用,包括主函数和用户自定义函数。

5.第五课时:讲解数组和字符串的基本操作,包括数组的声明和使用、字符串的输入输出等。

6.第六课时:介绍指针的概念和用法,包括指针的声明、指针与数组、指针与函数等。

7.第七课时:讲解结构体和文件的操作,包括结构体的声明和使用、文件的打开、读写等。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用多种教学方法相结合的方式。

具体包括:1.讲授法:教师讲解C语言的基本语法、数据类型、运算符、控制结构等知识点。

2.案例分析法:通过分析实际案例,让学生理解并掌握编程技巧。

3.实验法:安排上机实验,让学生动手编写程序,巩固所学知识。

4.小组讨论法:分组进行讨论,培养学生团队合作精神和问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,本章节将准备以下教学资源:1.教材:《C语言程序设计》或《C语言入门教程》等。

2.参考书:《C语言编程实践》、《C语言深度探索》等。

3.多媒体资料:教学PPT、视频教程、在线编程练习平台等。

4.实验设备:计算机、编程软件(如Code::Blocks、Visual Studio等)。

C语言模拟ATM提款机

C语言模拟ATM提款机

C语言模拟ATM提款机1.运用结构体2.运用文件调用源代码:#include "stdio.h"#include "stdlib.h"#include "conio.h"#define N 200void zhanghao(); //账号void xuanzhe(); //选择函数void enter_ATM(); //账号输入函数void input_code(); //密码输入函数void caozuo(); //基本操作界面void qukuan(); //取款函数void success(); //操作成功函数void delay(); //延时函数void YU_E(); //余额查询函数void cunkuan(); //存款函数void panduan(double z); //判断取款是否合法函数void exit(); //退出界面函数void mima(); //密码修改void zhuanzhang(); //转账函数void read(); //文件写入函数void write(); //文件读取函数void guanli(); //管理员函数void tequancode(); //管理员密码void hu(); //户void xinxi(); //信息void gmima(); //管理员改密void CAOZUO(); //管理员操作函数void yinghang(); //银行账户查询函数void jia(); //账户添加函数void shanchu(); //账户删除函数typedef struct{long int zhanghao;int mima;double yu_e;}atm;atm guan[N];int k;////////////////////////////////////////////////////////////主函数void main(){xuanzhe();}////////////////////////////////////////////////////////////功能选择函数void xuanzhe(){system("cls");printf("* 请选择功能*\n");printf("* 1.管理员 2.用户*\n");switch(getch()){case '1':tequancode();break;case '2':enter_ATM();break;default:{printf("\a非法输入");delay();system("cls");xuanzhe();};break;}}///////////////////////////////////////////////////////////柜台机账号输入函数void enter_ATM(){delay();system("cls");read();printf("* 欢迎使用ATM 柜台机*\n");printf("* 请输入卡号*\n");long int user;scanf("%d",&user);if(user==0){printf("* 账号错误*\n");enter_ATM();}else if(user!=(guan[k].zhanghao)){for(k=1;k<N;k++){if(user==(guan[k].zhanghao))input_code( );}system("cls");printf("* 账户不存在,请从新输入*\n");enter_ATM();}elseinput_code( );}////////////////////////////////////////////////////////////////密码输入函数void input_code( ){long int code;int temp=3;read();system("cls");printf("* 请输入密码*\n");scanf("%d",&code);while(code!=guan[k].mima){temp--;system("cls");printf("* 密码错误,请重新输入*\n");printf("* 您还有");printf("%d",temp);printf(" 次机会*\n");scanf("%d",&code);if(temp==1){system("cls");printf("* 您已经3 次输入密码*\n");printf("* 系统将退出操作*\n");delay();enter_ATM();}}caozuo();}//////////////////////////////////////////////////////////////////主操作界面函数void caozuo( ){system("cls");printf("********************************\n");printf("* 1.修改密码*\n");printf("* 2.查询余额*\n");printf("* 3.取款*\n");printf("* 4.存款*\n");printf("* 5.转账*\n");printf("* 6.退出*\n");printf("********************************\n");switch(getch( )){case '1': mima(); break;case '2': YU_E(); break;case '3': qukuan(); break;case '4': cunkuan(); break;case '5': zhuanzhang();break;case '6': exit(); break;default:{printf("\a非法操作\n");caozuo();};}}//////////////////////////////////////////////////////////////////////密码修改函数void mima(){long int mm1,mm2,mm3;int temp;system("cls");printf("旧密码:");scanf("%d",&mm1);printf("\n");if(mm1!=guan[k].mima){system("cls");printf("旧密码错误,请重新输入\n");delay();mima();}printf("新密码:");scanf("%d",&mm2);if(mm2<100000||mm2>999999){system("cls");printf(" 密码必须等于6位数\n");delay();mima();}temp=mm2%111111;if(temp==0){system("cls");printf(" 密码过于简单\n");printf(" 请重新输入!\n");delay( );mima( );}printf("\n");printf("确认新密码:");scanf("%d",&mm3);if(mm2!=mm3){system("cls");printf("确认密码不一致,请重新输入\n");delay( );mima();}if(mm3=mm2){guan[k].mima=mm3;write();success();}}////////////////////////////////////////////////////////////////////余额查询函数void YU_E(){read();system("cls");printf("你的余额为:%lf\n",(guan[k].yu_e));printf("1.返回 2.退出\n");switch(getch()){case '1': caozuo(); break;case '2': exit(); break;}}/////////////////////////////////////////////////////////////////////////取款函数void qukuan(){double temp;system("cls");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");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("请输入您要取款的金额:");scanf("%lf",&temp);panduan(temp); break;case '7':caozuo(); break;case '8':exit(); break;}}///////////////////////////////////////////////////////////////////判断取款是否合法函数void panduan(double z){int beishu;if(z>(guan[k].yu_e)){system("cls");printf(" 余额不足!\n");printf(" 请重新操作\n");printf(" 1.返回 2.退出\n");switch(getch()){case '1': qukuan();case '2': exit();}}beishu=(int)z%100;if(beishu!=0){system("cls");delay( );printf(" 本ATM机只支持100 的人民币\n");printf(" 请重新操作\n");printf(" \n");printf(" 1.返回 2.退出\n");switch(getch()){case '1': qukuan();case '2': exit();}}if(z==5000.00||z>5000.00){system("cls");printf(" 每次取款不能超过5000 元\n");printf(" 请重新操作\n");printf(" \n");printf(" 1.返回 2.退出\n");switch(getch()){case '1': qukuan();case '2': exit();}}(guan[k].yu_e)-=z;write();success();}/////////////////////////////////////////////////////////////////存款函数void cunkuan( ){double cun;system("cls");printf(" 请放入人民币:");scanf("%lf",&cun);while(cun<0){system("cls");printf(" 非法存款\n");printf(" 请重新放入人民币\n");scanf("%lf",&cun);}(guan[k].yu_e)+=cun;write();success();}/////////////////////////////////////////////////////////////////转账号函数void zhuanzhang(){int i,hao;double money;long int a=2109999999;system("cls");delay();read();printf("* 请输入账号*\n");scanf("%d",&hao);printf("* 请输入金额*\n");scanf("%lf",&money);if(hao<1000000000||hao>a){printf("* 账号错误,操作取消*\n");delay();delay();caozuo();}else if(money>guan[k].yu_e||money<0){printf("* 金额错误,操作取消*\n");delay();delay();caozuo();}else{read();for(i=1;i<N;i++){if(guan[i].zhanghao==hao)break;}guan[k].yu_e-=money;guan[i].yu_e+=money;write();success();}}///////////////////////////////////////////////////////延时函数void delay( ){long int bl1;int bl2;for(bl1=600000;bl1>0;bl1--){for(bl2=300;bl2>0;bl2--);}}/////////////////////////////////////////////////操作成功函数void success( ){system("cls");printf(" 操作已成功\n");printf(" \n");printf(" 1.返回 2.退出\n");switch(getch()){case '1':caozuo(); break;case '2':exit(); break;}}//////////////////////////////////////////////系统退出函数void exit(){system("cls");printf("* 欢迎您的再次使用*\n");printf("* 系统正在退出... *\n");delay();xuanzhe();}////////////////////////////////////////////////////文件读取函数void read(){int i;FILE *fp;fp=fopen("xinxi.txt","r");if(fp==NULL){printf("打开文件失败\n");return;}for(i=0;i<N;i++){fscanf(fp,"%d ",&(guan[i].zhanghao));fscanf(fp,"%d ",&(guan[i].mima));fscanf(fp,"%lf\n",&(guan[i].yu_e));}fclose(fp);}/////////////////////////////////////////////////////////////文件写入函数void write(){int i;FILE *fp;fp=fopen("xinxi.txt","w");if(fp==NULL){printf("打开文件失败\n");return;}for(i=0;i<N;i++){fprintf(fp,"%d ",guan[i].zhanghao);fprintf(fp,"%d ",guan[i].mima);fprintf(fp,"%lf\n",guan[i].yu_e);}fclose(fp);}void tequancode( ){long int code;int temp=2;read();system("cls");printf("* 请输入管理员密码*\n");scanf("%d",&code);while(code!=guan[0].mima){system("cls");printf("* 密码错误,请重新输入*\n");printf("* 您还有");printf("%d",temp);printf(" 次机会*\n");scanf("%d",&code);temp--;if(temp==0){system("cls");printf("*\a 您已经3 次输入密码*\n");printf("* 系统将退出操作*\n");delay();xuanzhe();}}guanli();}////////////////////////////////////////////////////////////////管理员函数void guanli(){system("cls");delay();printf("* 1.信息查询*\n");printf("* 2.操作*\n");printf("* 3.退出*\n");switch(getch()){case '1':zhanghao();break;case '2':CAOZUO();break;case '3':exit();break;default:{printf("\a非法操作");guanli();};}}/////////////////////////////////////账号void zhanghao(){system("cls");read();printf(" 请输入账号\n");long int user;scanf("%d",&user);if(user!=(guan[k].zhanghao)){for(k=1;k<N;k++){if(user==(guan[k].zhanghao))hu();}system("cls");printf("* 账户不存在,请从新输入*\n");delay();guanli();}else{delay();hu( );}}////////////////////////////////////////////////账户void hu(){system("cls");printf("* 1.信息 2.改密码*\n");printf("* 3.返回 4.退出*\n");switch(getch()){case '1':xinxi();break;case '2':gmima();break;case '3':zhanghao();break;case '4':guanli();break;default:{printf("\a非法操作\n");hu();};}}///////////////////////////////////////////////信息void xinxi(){system("cls");read();printf("*账号密码余额*\n");printf("%d ",guan[k].zhanghao);printf("%d ",guan[k].mima);printf("%lf \n",guan[k].yu_e);printf("* 1.返回 2.退出*\n");switch(getch()){case '1':hu();break;case '2':guanli();break;}}///////////////////////////////////////////管理员改密void gmima(){long int mm1,mm2,mm3;char temp;system("cls");printf("旧密码:");scanf("%d",&mm1);printf("\n");if(mm1!=guan[k].mima){system("cls");printf("旧密码错误,请重新输入\n");delay();gmima();}printf("新密码:");scanf("%d",&mm2);if(mm2<100000||mm2>999999){system("cls");printf(" 密码必须等于6位数\n");printf(" 请重新输入!\n");delay();gmima();}temp=mm2%111111;if(temp==0){system("cls");printf(" 密码过于简单\n");printf(" 请重新输入!\n");delay( );gmima( );}printf("\n");printf("确认新密码:");scanf("%d",&mm3);if(mm2!=mm3){system("cls");printf("确认密码不一致,请重新输入\n");delay( );gmima();}if(mm3=mm2){guan[k].mima=mm3;write();hu();}}///////////////////////////////////////////管理员操作函数void CAOZUO(){system("cls");delay();printf("* 1.查询所有账户*\n");printf("* 2.添加账户*\n");printf("* 3.删除账户*\n");printf("* 4.返回 5.退出*\n");switch(getch()){case '1':yinghang();break;case '2':jia();break;case '3':shanchu();break;case '4':guanli();break;case '5':xuanzhe();break;default:{printf("\a非法操作\n");CAOZUO();};}}//////////////////////////////////////////银行账户查询函数void yinghang(){system("cls");delay();read();printf("*账号密码余额*\n");for(;k<N;k++){if(guan[k].zhanghao!=0&&guan[k].zhanghao>0){printf("%d ",guan[k].zhanghao);printf("%d ",guan[k].mima);printf("%lf\n",guan[k].yu_e);}}printf("* 1.返回 2.退出*\n");switch(getch()){case '1':CAOZUO();break;case '2':guanli();break;}}//////////////////////////////////////////账户添加函数void jia(){int mm1,mm2;int temp;system("cls");delay();read();printf("* 请输入密码*\n");scanf("%d",&mm1);if(mm1<100000||mm1>999999){system("cls");printf(" 密码必须等于6位数\n");printf(" 请重新输入: \n");delay();scanf("%d",&mm1);}temp=mm1%111111;if(temp==0){system("cls");printf(" 密码过于简单\n");printf(" 请重新输入: \n");delay( );scanf("%d",&mm1);}printf("\n");printf("确认密码:\n");scanf("%d",&mm2);if(mm1!=mm2){system("cls");printf("确认密码不一致,操作取消\n");delay( );CAOZUO();}if(mm1=mm2){for(;k<N;k++){if(guan[k].zhanghao==0){guan[k].zhanghao=guan[k-1].zhanghao+1;guan[k].mima=mm2;write();break;}}printf("账号创建成功!\n");printf("您的账号是%d,请妥善保管!\n",guan[k].zhanghao);printf("* 1.返回 2.退出*\n");switch(getch()){case '1':CAOZUO();break;case '2':guanli();break;}}}/////////////////////////////////////////账户删除函数void shanchu(){system("cls");delay();read();printf("* 请输入账号*\n");long int user;scanf("%d",&user);if(user==0){printf("* 账号错误,操作取消*\n");CAOZUO();}else if(user!=(guan[k].zhanghao)){for(k=1;k<N;k++){if(user==(guan[k].zhanghao)){for(;k<N;k++){guan[k].zhanghao=guan[k+1].zhanghao;guan[k].mima=guan[k+1].mima;guan[k].yu_e=guan[k+1].yu_e;write();}printf("账号删除成功!\n");printf("* 1.返回 2.退出*\n");switch(getch()){case '1':CAOZUO();break;case '2':guanli();break;}}}system("cls");printf("* 账户不存在*\n");delay();CAOZUO();}else{for(;k<N;k++){guan[k].zhanghao=guan[k+1].zhanghao;guan[k].mima=guan[k+1].mima;guan[k].yu_e=guan[k+1].yu_e;write();}printf("账号删除成功!\n");printf("* 1.返回 2.退出*\n");switch(getch()){case '1':CAOZUO();break;case '2':guanli();break;}}}。

c语言模拟ATM机程序

c语言模拟ATM机程序
case 3: Zhuanzhang(&Y,&a[6]);break;
case 4: Xiugai(&a[6]);break;
case 5: Cunkuan(&Y);break;
case 6: exit(0);break;
default:printf("输入错误,请重新输入\n");
}
lp2:printf("继续操作请按1,退卡请按2\n");
else
{printf("非法操作,强制退出\n");
}
}
void Qukuan()
{
int i,j;
printf("1、100\t2、200\t3、500\t4、800\t5、请输入金额\n");
scanf("%d",&i);
switch(i)
{
case 1: panduan(100);break;
printf请选择服务项目n1取款t2查询服务t3转账服务t4修改密码t5存款t6退卡n
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
long int Y=100000;int c=0;char a[6]={'1','2','3','4','5','6'};
else
lp4:{
printf("请输入新密码:\n");
k=getch();
while(k!='\r'&&l<6)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(strcmp(b3,a[c1].ID)==0)
{
printf("账号:%s\n密码:%s\n金额:%f\n",a[c1].ID,a[c1].password,a[c1].money);
break;
}
else
{
if(strlen(a[c1].ID)==0)
do
{
system("cls");
printf("\t\t********************欢迎使用户注册系统********************\n\n");
printf("按q退出\n");
printf("%d号客户\n",r+1);
printf("请输入账号\n");
printf("\t\t请选择功能(0~3):");
}
/////////注册用户//////
void a1()
{
FILE*fp1;
int c1=0,c2;
//static int r=0;
char b2[7],b3[7],b4[7]="q";
fp1=fopen("2409.txt","a+");
else printf("请重新输入密码\n");
}
}
if(c1==2)
{
printf("对不起管理员禁止你的操作\n");
return;
}
break;
}
}
//if(strcmp(d,a[c].ID)!=0)return;
fread(a,sizeof(a[1000]),1000,fp1);
for(s=0;s<1000;s++)
{
fread(&a[s],sizeof(struct s1),1,fp1);
if(strlen(a[s].ID)==0)break;
if(a[s].money<=100.00)#34;w");
fputs(b,fp);
fclose(fp);
system("cls");
printf("\t\t********************欢迎使用管理员登录系统********************\n\n");
printf("请输入密码\n");
{
q=q+1;
}
if(100.00<=a[s].money&&a[s].money<=10000.00)
{
w=w+1;
}
if(10000.00<=a[s].money)
{
e=e+1;
}
}
printf("0-100的有有%d\n",q);
else printf("请重新输入密码\n");
}
if(c2==2)
{
printf("对不起管理员禁止你的操作\n");
return;
}
}
printf("请输入你要存的金额\n");
scanf("%f",&a[r].money);
scanf("%s",a[r].ID);
if(strcmp(a[r].ID,b4)==0)
{
fclose(fp1);
return;
}
if(a[r].ID)
{
printf("请输入密码\n");
scanf("%s",b3);
system("cls");
printf("请输入存款金额\n");
scanf("%f",&b3);
if(b3<=10000)
{
a[y].money+=b3;
printf("存款成功\n");
}
else
{
printf("对不起你的操作无效\n");
}
float b5=0;
fp1=fopen("2409.txt","r");
fread(&a[y],sizeof(struct s1),1,fp1);
{
y=c;
printf("请输入密码\n");
for(c1=0;c1<3;c1++)
{
scanf("%s",d1);
if(strcmp(a[c].password,d1)==0)break;
else
{
if(c1==2) break;
printf("\t\t请选择功能(1~7):");
}
//////////////登录函数///////////
void a5()
{
FILE*fp1;
char d[32],d1[7];
int c;
int c1;
fp1=fopen("2409.txt","r");
system("cls");
scanf("%s",b1);
fp=fopen("109.txt","r");
fgets(b,9,fp);
if(strcmp(b1,b)==0)
{
while(2)
{
a10();
scanf("%d",&x);
switch(x)
{
case 1:
float money; //余额
}a[1000];
/////////定义全局变量/////
int s,f;//,q=0,w=0,e=0;
static int y,r=0;
//////////声明函数/////////
void enter();
void a1();
fp1=fopen("2409.txt","r+");
fwrite(&a[y],sizeof(struct s1),1,fp1);
fclose(fp1);
}
//////////转账函数/////////
void a8()
{
FILE*fp1;
char b4[32];
int c;
a1(); //注册
break;
case 2:
a2(); //查找
break;
case 3:
a3(); //统计
break;
default:return;
}
}
}
fclose(fp);
printf("请输入账号\n");
scanf("%s",d);
for(c=0;c<1000;c++)
{
fread(&a[c],sizeof(struct s1),1,fp1);
if(strlen(a[c].ID)==0)break;
if(strcmp(d,a[c].ID)==0)
void a2();
void a3();
void a4();
void a5();
void a6();
void a7();
void a8();
void a9();
void a10();
void a11();
//////////管理员菜单///////
void a10()
{
printf("请输入取款金额\n");
scanf("%f",&b2);
if(a[y].money>=b2)
{
a[y].money-=b2;
printf("取款成功\n");
}
else
{
printf("对不起你的操作无效\n");
}
fp1=fopen("2409.txt","r+");
}
////////////客户菜单/////////
void a4()
{
printf("\t*******************欢迎使用自动取款机**********************\n");
printf("\t\t************系统菜单***************\n\n");
printf("\t\t************请选择操作功能***************\n\n");
printf("1.注册\n");
printf("2.查找\n");
printf("3.统计\n");
printf("0.返回\n");
相关文档
最新文档