文档介绍:该【C语言 ATM 程序设计 】是由【mama1】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【C语言 ATM 程序设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
C语言程序设计
专题实****br/>实<br****br/>报
告
学校:
系别:
姓名:
班级:
实****时间:
:.
实****目的
1、通过这次专题实****可以巩固和加深对
所学相关知识点的理解。
2、进一步熟悉基本的流程控制结构---实现
分支的if…else语句、switsh语句和实
现循环的for、while…、do…while语句、
break、continue等。
3、基本数据类型、数组、结构体、自定义
类、函数的应用。
4、加强对模块化程序设计和面向对象程序
设计的理解。
5、掌握C/C++语言程序设计的基本思想,
了解简朴的系统分析和设计方法。
实现环节:
(1)总体分析设计(画出模块结构图和系
统流程图,理清程序思绪)
(2)完毕字符界面菜单
(3)结构体类型的定义
(4)主控函数main的编写
(5)修改信息
(6)录入信息,显示到屏幕:.
(7)查看储户信息
(8)查询金额
(9)排序
(10)退出
实验内容
ATM仿真程序
设计一个仿真自动柜员机(ATM)的程序涉
及提款、存款、查询余额、修改密码、退出
等功能。
ATM保存多个储户的信息(姓名、身份证
号、密码、金额)
程序具体实现如下功能:
a)系统以菜单方式工作
b)储户和管理员进入系统都需要用户名和
密码
c)管理员可以录入储户信息、浏览所有储
户的信息、排序、查询、修改储户信息;
d)储户登陆可以信息进行存款、取款、转
账等操作;
e)系统退出
:.
开始
选择操
登陆(验证密码)
登陆成功?
显示主菜单
输入功能选
项
判断选项
用用查录浏修查用退
户户询入览改询户出
取存金信信密用排系
结束
:.
#include<>
#include<>
#definemax20
voidcx();
voidqk();
voidzz();
voidxgmm();
voidtc();
voidck();
voidlr();
voidll();
voidpx();
voidcxyh();
voidxgzl();
voidyonghu();
voidguanliyuan();
voidmain()
{
intselect;
printf("1储户\n");
printf("2管理员\n");
printf("请选择功能:\n");
scanf("%d",&select);:.
switch(select)
{
case1:yonghu();break;
case2:guanliyuan();break;
default:break;
}
}
voidyonghu()
{
system("pause");
system("cls");
do
{
system("color17");
printf("\n\n\n\n");
printf("\t\t\t欢迎使用\n");
printf("\n\n");
printf("\t\t\t中国农业银行\n");
printf("\n\n");
printf("\t\tATM取款机管理系统\n\n");
:.
system("pause");
system("cls");
printf("\n\n\n");
printf("\t\t\t\t请插入磁卡\n");
printf("\n\n");
system("pause");
system("cls");
inti;
intnum=999666;
inttimes;
do
{
for(times=1;times<=3;times++)
{
printf("请输入密码:");
scanf("%d",&i);
if(i==num)
{
printf("欢迎进入");
printf("\n\n\n\n");
printf("\t\t\t欢迎使用\n");:.
printf("\n\n");
printf("\t\t\t中国农业银行\n");
printf("\n\n");
printf("\t\tATM取款机管理系统\n\n");
system("pause");
system("cls");
printf("\n\n\n");
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-----------------------------------\n");
printf("\t\t|\t\t|\t\t|\n");
printf("++|\n");
printf("++\n");
printf("+|\n");:.
printf("++\n");
printf("+\n");
printf("++\n");
system("pause");
system("cls");
intselect;
printf("请选择功能:");
scanf("%d",&select);
switch(select)
{
case6:tc();break;
case1:cx();break;
case2:qk();break;
case3:zz();break;
case4:xgmm();break;
case5:ck();break;
default:printf("输入有误,请在1~6之间选择.\n");break;
}
}
while("\n");
system("pause");:.
system("cls");
}
else
{
if(times>=3)
tc();
}
}
}
while(i!=num);
}
while(1);
}
voidcx()
{
intmoney=5000;
printf("显示卡内余额%d元钱\n",money);
system("pause");
system("cls");:.
}
voidqk()
{
intx,y,money=5000;
printf("本银行最低取款金额为100元\n");
printf("请输入您要提取的金额:");
scanf("%d",&x);
if(x>=100)
{
if(x<=money)
{
printf("您取了%d元钱",x);
y=money-x;
printf("您卡里的余额是%d元钱",y);
}
elseif(x>=money)
{
printf("您卡里余额局限性");
}
}
system("pause");
system("cls");
}:.
voidzz()
{
intmoney=5000,id=1234;
intidd;
intx;
inty;
do
{
printf("请输入卡号:\n");
scanf("%d",&idd);
if(idd==id)
{
printf("您可以进行转账");
}
elseif(idd!=id)
{
printf("请重新输入卡号\n");
}
}
while(idd!=id);
printf("请输入转账金额\n:");
scanf("%d",&x);:.
if(x<=money)
{
printf("您转了%d元钱\n",x);
y=money-x;
printf("您卡里的余额是%d元钱\n",y);
}
else
{
printf("您卡里的余额局限性\n");
}
system("pause");
system("cls");
}
voidck()
{
intmoney=5000;
intx,y;
printf("您要存入的金额\n");
scanf("%d",&x);
y=money+x;
printf("存款成功,请按确认键\n");
printf("您卡里的余额是%d元钱\n",y);
system("pause");:.
system("cls");
}
voidxgmm()
{
intpassword=999666;
intx,x1;
printf("原密码是%d\n",password);
printf("请输入新密码:");
scanf("%d",&x);
printf("请确认新密码");
scanf("%d",&x1);
if(x==x1)
{
printf("修改密码成功\n");
printf("请牢记\n");
printf("新密码是%d\n",x);
}
else
{
printf("两次密码不一致:");
printf("请重新输入\n");
scanf("%d",&x);:.
system("pause");
system("cls");
}
}
voidtc()
{
printf("欢迎下次光顾\n");
printf("请取出你的卡\n");
printf("谢谢\n");
exit(0);
}
voidguanliyuan()
{
system("pause");
system("cls");
system("color17");
printf("\n\n\n\n");
printf("\t\t\t欢迎使用\n");
printf("\n\n");
printf("\t\t\t中国农业银行\n");:.
printf("\n\n");
printf("\t\tATM取款机管理系统\n\n");
system("pause");
system("cls");
intnum=456789;
intpasswd=123456;
inti;
printf("欢迎进入管理系统\n");
printf("请输入管理员账户:\n");
scanf("%d",&num);
printf("请输入密码:\n");
scanf("%d",&i);
if(i==passwd)
{
printf("欢迎进入管理系统");
}
elseif(i!=passwd)
{
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");
printf("\t\t|\t\t|\t\t|\n");
printf("++\n");
printf("++\n");
printf("++\n");
printf("++\n");
printf("++\n");
system("pause");
system("cls");
intselect;
printf("请选择你所需要的功能:");:.
scanf("%d",&select);
switch(select)
{
case1:lr();break;
case2:ll();break;
case3:px();break;
case4:cxyh();break;
case5:xgzl();break;
default:printf("输入有误,请在1~5之间选择.\n");break;
}
}
while("\n");
}
voidlr()
{
charusername[max];
charsfzh[max];
printf("请输入用户名:\n");
scanf("%s",username);
printf("请输入身份证号:\n");:.
scanf("%d",&sfzh);
printf("信息输入成功\n");
printf("请再次输入用户名:\n");
scanf("%s",username);
printf("请再次输入身份证号:\n");
scanf("%d",&sfzh);
printf("确认成功,请按任意键返回功能菜单\n");
system("pause");
system("cls");
}
voidll()
{
charusername[max];
printf("请输入用户名:\n");
scanf("%c",&username);
printf("显示用户信息\n");
printf("卡上金额:5000\n");
system("pause");
system("cls");
}
voidpx():.
{
intselect;
printf("请选择排序方式:\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':printf("\n输出按开户排序的所有用户信息");
break;
case'D':return;
default:printf("很抱歉,暂无此排序方式!");
break;
}:.
system("pause");
system("cls");
}
voidcxyh()
{
intmethod;
intnum,num1;
charname[max];
printf("\n请选择查询方式");
printf("\");
printf("\");
printf("\");
printf("\\n");
scanf("%d",&method);
switch(method)
{
case1:
printf("\n请输入要查询的帐号:");
scanf("%d",&num);
printf("\n帐号姓名身份证号码卡上金额\n");:.
scanf("%d",&num1);
if(num==num1)
{
printf("账号:12345678\n");
printf("姓名:张三\n");
printf("身份证号码:5216121\n");
printf("卡上金额:5000\n");
}
else
{
printf("对不起,你所查找的用户不存在\n");
break;
}
case2:
printf("\n请输入要查询的用户名:");
scanf("%s",name);
printf("\n帐号姓名身份证号码卡上金额\n");
printf("账号:12345678\n");
printf("姓名:张三\n");
printf("身份证号码:5216121\n");
printf("卡上金额:5000\n");
break;
case3:printf("所有用户信息");:.
scanf("%s",name);
printf("\n帐号姓名身份证号码卡上金额开户时间\n");
printf("账号:12345678\n");
printf("姓名:张三\n");
printf("身份证号码:5216121\n");
printf("卡上金额:5000\n");
printf("开户时间:\n");
break;
case4:
return;
default:
printf("很抱歉,暂无此查询方式!");
break;
}
system("pause");
system("cls");
}
voidxgzl()
{
charnum[max];
printf("\n请输入要修改的用户的账号:\n");:.
scanf("%s",num);
intselect;
charname1[max],khsj1[max],age1[max],id1[max];
printf("\n请输入要修改的该用户的信息:");
printf("\");
scanf("%s",&name1);
printf("\");
scanf("%s",&khsj1);
printf("\");
scanf("%d",&age1);
printf("\");
scanf("%c",&id1);
scanf("%d",&select);
printf("\n请再次输入修改的信息:\n");
printf("\");
scanf("%s",&name1);
printf("\");
scanf("%s",&khsj1);
printf("\");
scanf("%d",&age1);
printf("\");:.
scanf("%c",&id1);
switch(select)
{
case1:
scanf("%s",name1);
break;
case2:
scanf("%s",khsj1);
break;
case3:
scanf("%s",age1);
break;
case4:
scanf("%s",id1);
break;
default:
break;
}
system("pause");
system("cls");
}:.
心得体会:
通过一周的专题实****的操作,对原本完全陌生的程序编写有了进一步
的理解,虽然还不可以完全纯熟的进行各种程序的编写,但对于我们
已经学过的很多知识已经不在局限于最初刚学时那种懵懂的状态了。
特别是结构体、选择函数、判断函数的运用。尚有就是循环的嵌套、
自定义类函数的操作都有了更多的了解。虽然在做的过程中碰到很多
问题,甚至产生了放弃的想法,幸好理智战胜了冲动。在做时碰到很
多不会的问题,通过老师和同学的帮助最后终于做出了对的的程序。
在那一刻内心是多么的兴奋,那一刻觉得一周的操作时多么的值得
啊!