C语言 ATM 程序设计



《C语言 ATM 程序设计》由会员分享,可在线阅读,更多相关《C语言 ATM 程序设计(17页珍藏版)》请在装配图网上搜索。
1、C语言程序设计 专题实习 实 习 报 告 学校: 系别: 姓名: 班级: 实习时间: 实习目的 1、通过这次专题实习,可以巩固和加深对所学相关知识点的理解。 2、进一步熟悉基本的流程控制结构---实现分支的 if …else 语句、switsh 语句和实 现循环的for、while…、do…while语句、break、continue等。 3、基本数据类型、数组、结构体、自定义类、函数的应用。 4、加强对模块化程序设计和面向对象程序设计的理解。 5、掌握C/C++语言程序设计的基本思想,了解简单的系统分析和设计方法。 实现步骤: (1
2、)总体分析设计(画出模块结构图和系统流程图,理清程序思路) (2)完成字符界面菜单 (3)结构体类型的定义 (4)主控函数main的编写 (5)修改信息 (6)录入信息,显示到屏幕 (7)查看储户信息 (8)查询金额 (9)排序 (10)退出 实验内容 ATM仿真程序 设计一个仿真自动柜员机(ATM)的程序包括提款、存款、查询余额、修改密码、退出等功能。 ATM 保存多个储户的信息(姓名、身份证号、密码、金额) 程序具体实现如下功能: a) 系统以菜单方式工作 b) 储户和管理员进入系统都需要用户名和密码 c) 管理员可以录入
3、储户信息、浏览全部储户的信息、排序、查询、修改储户信息;
d) 储户登陆可以信息进行存款、取款、转账等操作;
e) 系统退出
开 始
选择操作者
登陆(验证密码)
登陆成功?
显示主菜单
输入功能选项
判断选项
用户取款
用户存款
查询金额
录入信息
查询用户
用户排序
退出系统
修改密码
浏览信息
结束
#include
4、; void tc(); void ck(); void lr(); void ll(); void px(); void cxyh(); void xgzl(); void yonghu(); void guanliyuan(); void main() { int select; printf("1 储户 \n"); printf("2 管理员\n"); printf("请选择功能:\n"); scanf("%d",&select); switch(select) { c
5、ase 1: yonghu();break; case 2: guanliyuan();break; default:break; } } void yonghu() { system("pause"); system("cls"); do { system("color 17"); printf("\n\n\n\n"); printf("\t\t\t 欢 迎 使 用\n"); printf("\n\n");
6、 printf("\t\t\t 中 国 农 业 银 行\n"); printf("\n\n"); printf("\t\t ATM 取 款 机 管 理 系 统\n\n"); system("pause"); system("cls"); printf("\n\n\n"); printf("\t\t\t\t请插入磁卡\n"); printf("\n\n"); system("pause");
7、 system("cls"); int i; int num = 999666; int times; do { for(times=1;times<=3;times++) { printf("请输入密码:"); scanf("%d",&i); if(i==num) { printf("欢迎进入"); printf("\n\n\n\n");
8、 printf("\t\t\t 欢 迎 使 用\n"); printf("\n\n"); printf("\t\t\t 中 国 农 业 银 行\n"); printf("\n\n"); printf("\t\t ATM 取 款 机 管 理 系 统\n\n"); system("pause"); system("cls"); printf("\n\n\n")
9、; printf("\t\t\t\t请插入磁卡\n"); printf("\n\n"); do { system("pause"); system("cls"); printf("\n\n\n"); printf("\t\t\t请选择您所需要的服务\n"); printf("\n\n"); printf("\t\t---------------------------
10、--------\n"); printf("\t\t|\t\t|\t\t |\n"); printf("+ 1. 查询 + |\n"); printf("+2. 取款+\n"); printf("3. 转账 +|\n"); printf("+4. 修改密码 +\n"); printf("+5.存款 \n"); printf("+ 6. 退出程序 +\n"); system("pause"); system("cls");
11、 int select; printf("请选择功能:"); scanf("%d",&select); switch (select) { case 6:tc();break; case 1:cx();break; case 2:qk();break; case 3:zz();break; case 4:xgmm();break; case 5:ck();break; default :printf
12、("输入有误,请在1~6之间选择.\n"); break; } } while("\n"); system("pause"); system("cls"); } else { if(times>=3) tc(); } } } while(i!=num); } while(1); } void cx() { int money=5000;
13、 printf("显示卡内余额%d元钱\n",money); system("pause"); system("cls"); } void qk() { int x,y,money=5000; printf("本银行最低取款金额为100元\n"); printf("请输入您要提取的金额:"); scanf("%d",&x); if(x>=100) { if(x<=money) { pr
14、intf("您取了%d元钱",x); y=money-x; printf("您卡里的余额是%d元钱",y); } else if(x>=money) { printf("您卡里余额不足"); } } system("pause"); system("cls"); } void zz() { int money=5000,id=1234;
15、 int idd; int x; int y; do { printf("请输入卡号:\n"); scanf("%d",&idd); if(idd==id) { printf("您可以进行转账"); } else if(idd!=id) { printf("请重新输入卡号\n"); } } while(idd!=id);
16、 printf("请输入转账金额\n:"); scanf("%d",&x); if(x<=money) { printf("您转了%d元钱\n",x); y=money-x; printf("您卡里的余额是%d元钱\n",y); } else { printf("您卡里的余额不足\n"); } system("pause"); syst
17、em("cls"); } void ck() { int money=5000; int x,y; printf("您要存入的金额\n"); scanf("%d",&x); y=money+x; printf("存款成功,请按确认键\n"); printf("您卡里的余额是%d元钱\n",y); system("pause"); system("cls"); } void xgmm() { int pas
18、sword=999666; int x,x1; printf("原密码是%d\n",password); printf("请输入新密码:"); scanf("%d",&x); printf("请确认新密码"); scanf("%d",&x1); if(x==x1) { printf("修改密码成功\n"); printf("请牢记\n"); printf("新密码是%d\n",x); }
19、 else { printf("两次密码不一致:"); printf("请重新输入\n"); scanf("%d",&x); system("pause"); system("cls"); } } void tc() { printf("欢迎下次光临\n"); printf("请取出你的卡\n"); printf("谢谢\n"); exit(0); } void guanliyuan
20、() { system("pause"); system("cls"); system("color 17"); printf("\n\n\n\n"); printf("\t\t\t 欢 迎 使 用\n"); printf("\n\n"); printf("\t\t\t 中 国 农 业 银 行\n"); printf("\n\n"); printf("\t\t ATM 取 款 机 管 理 系 统\n\n"); s
21、ystem("pause"); system("cls"); int num=456789; int passwd=123456; int i; printf("欢迎进入管理系统\n"); printf("请输入管理员账户:\n"); scanf("%d",&num); printf("请输入密码:\n"); scanf("%d",&i); if(i==passwd) { printf("欢迎进入管理系统"); } else if(i!=passwd
22、) { printf("密码有误,请重新输入:\n"); scanf("%d",&i); } do { system("pause"); system("cls"); printf("\n\n\n"); printf("\t\t\t请选择您所需要的服务\n"); printf("\n\n"); printf("\t\t-----------------------------------\n");
23、 printf("\t\t|\t\t|\t\t |\n"); printf("+ 1. 录入用户资料 +\n"); printf("+ 2. 浏览用户资料 +\n"); printf("+ 3. 排序用户资料 +\n"); printf("+ 4. 查询用户资料 +\n"); printf("+ 5. 修改用户资料 +\n"); system("pause"); system("cls"); int select; printf("
24、请选择你所需要的功能:"); scanf("%d",&select); switch(select) { case 1:lr();break; case 2:ll();break; case 3:px();break; case 4:cxyh();break; case 5:xgzl();break; default:printf("输入有误,请在1~5之间选择.\n");break; } } while("\n");
25、 } void lr() { char username[max]; char sfzh[max]; printf("请输入用户名:\n"); scanf("%s",username); printf("请输入身份证号:\n"); scanf("%d",&sfzh); printf("信息输入成功\n"); printf("请再次输入用户名:\n"); scanf("%s",username); printf("请再次输入身份证号:\n"); scanf("%d",&sfzh); printf("确认成功,请按任意键
26、返回功能菜单\n"); system("pause"); system("cls"); } void ll() { char username[max]; printf("请输入用户名:\n"); scanf("%c",&username); printf("显示用户信息\n"); printf(" 卡上金额 :5000\n"); system("pause"); system("cls"); } void px() { int select; printf("
27、请选择排序方式:\n"); printf("A 按账号排序\n "); printf(" B 按姓氏排序\n"); printf(" C 按开户时间\n"); printf(" D 返回主菜单\n"); scanf("%d",&select); switch(select) { case A: printf("\n输出按账号排序的所有用户信息"); break; case B: printf("\n输出按姓氏排序的所有用户信息"); break; case C:
28、 printf("\n输出按开户排序的所有用户信息"); break; case D: return; default: printf("很抱歉,暂无此排序方式!"); break; } system("pause"); system("cls"); } void cxyh() { int method; int num,num1; char name[max]; printf("\n请选择查询方式"); printf("\n
29、1.按帐号查询"); printf("\n2.按用户名查询"); printf("\n3.显示全部用户信息"); printf("\n4.返回主菜单\n"); scanf("%d",&method); switch(method) { case 1: printf("\n请输入要查询的帐号:"); scanf("%d",&num); printf("\n帐号 姓名 身份证号码 卡上金额\n "); scanf
30、("%d",&num1); if(num==num1) { printf("账号:12345678\n"); printf("姓名:张三\n"); printf("身份证号码: 513901199010216121\n"); printf("卡上金额: 5000\n"); } else { printf("对不起,你所查找的用户不存在\n"); break; }
31、case 2: printf("\n请输入要查询的用户名:"); scanf("%s",name); printf("\n帐号 姓名 身份证号码 卡上金额\n "); printf("账号:12345678\n"); printf("姓名:张三\n"); printf("身份证号码: 513901199010216121\n"); printf("卡上金额: 5000\n"); brea
32、k; case 3: printf("全部用户信息"); scanf("%s",name); printf("\n帐号 姓名 身份证号码 卡上金额 开户时间\n"); printf("账号:12345678\n"); printf("姓名:张三\n"); printf("身份证号码: 513901199010216121\n"); printf("卡上金额: 5000\n"); prin
33、tf("开户时间: 2008.08.08\n"); break; case 4: return; default: printf("很抱歉,暂无此查询方式!"); break; } system("pause"); system("cls"); } void xgzl() { char num[max]; p
34、rintf("\n请输入要修改的用户的账号:\n"); scanf("%s",num); int select; char name1[max],khsj1[max],age1[max],id1[max]; printf("\n请输入要修改的该用户的信息:"); printf("\n1.用户名"); scanf("%s",&name1); printf("\n2.开户时间"); scanf("%s",&khsj1);
35、 printf("\n3.年龄"); scanf("%d",&age1); printf("\n4.身份证号"); scanf("%c",&id1); scanf("%d",&select); printf("\n请再次输入修改的信息:\n"); printf("\n1.用户名"); scanf("%s",&name1); printf("\n2.开户时间"); scanf("%s",&
36、khsj1); printf("\n3.年龄"); scanf("%d",&age1); printf("\n4.身份证号"); scanf("%c",&id1); switch(select) { case 1: scanf("%s",name1); break; case 2: scanf("%s",khsj1); break; case 3:
37、 scanf("%s",age1); break; case 4: scanf("%s",id1); break; default: break; } system("pause"); system("cls"); } 心得体会: 通过一周的专题实习的操作,对原本完全陌生的程序编写有了进一步的理解,虽然还不能够完全熟练的进行各种程序的编写,但对于我们已经学过的很多知识已经不在局限于最初刚学时那种懵懂的状态了。特别是结构体、选择函数、判断函数的运用。还有就是循环的嵌套、自定义类函数的操作都有了更多的了解。虽然在做的过程中遇到很多问题,甚至产生了放弃的想法,幸好理智战胜了冲动。在做时遇到很多不会的问题,经过老师和同学的帮助最后终于做出了正确的程序。在那一刻内心是多么的兴奋,那一刻觉得一周的操作时多么的值得啊!
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。