C语言ATM程序设计Word格式.docx
《C语言ATM程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《C语言ATM程序设计Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
e)系统退出
开始
选择操作者
登陆(验证密码)
登陆成功?
显示主菜单
输入功能选项
判断选项
用户取款
用户存款
查询金额
录入信息
查询用户
用户排序
退出系统
修改密码
浏览信息
结束
#include<
stdio。
h>
#include<
process。
h〉
#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();
default:
}
}
voidyonghu()
{inti;
intnum=999666;
inttimes;
system(”pause"
);
system("
cls”);
do
{
color17"
printf(”\n\n\n\n”);
printf("
\t\t\t欢迎使用\n”);
\n\n”);
printf(”\t\t\t中国农业银行\n"
printf(”\n\n”);
\t\tATM取款机管理系统\n\n"
system(”pause”);
printf(”\n\n\n”);
\t\t\t\t请插入磁卡\n”);
pause"
system(”cls”);
{
for(times=1;
times〈=3;
times++)
{
printf(”请输入密码:
”);
scanf("
%d"
,&
i);
if(i==num)
{
printf(”欢迎进入”);
printf(”\n\n\n\n"
printf(”\t\t\t欢迎使用\n"
\n\n"
\t\t\t中国农业银行\n"
\n\n\n”);
printf(”\t\t\t\t请插入磁卡\n"
cls"
\n\n\n"
printf(”\t\t\t请选择您所需要的服务\n"
\n\n”);
printf(”\t\t--—--—————————--—-—--—---—-———--—-—\n"
\t\t|\t\t|\t\t|\n"
printf(”+1。
查询+|\n"
+2.取款+\n"
printf(”3。
转账+|\n"
+4.修改密码+\n"
printf(”+5.存款\n”);
printf(”+6.退出程序+\n"
pause”);
cls”);
请选择功能:
scanf(”%d"
&
select);
switch(select)
case6:
tc();
break;
case1:
cx();
qk();
case3:
zz();
case4:
xgmm();
case5:
ck();
default:
printf(”输入有误,请在1~6之间选择。
break;
}
while(”\n”);
system("
}
else
{
if(times〉=3)
tc();
}
while(i!
=num);
}
while
(1);
voidcx()
intmoney=5000;
显示卡内余额%d元钱\n"
money);
system(”pause”);
}
voidqk()
intx,y,money=5000;
printf(”本银行最低取款金额为100元\n"
printf(”请输入您要提取的金额:
&x);
if(x>
=100)
{
if(x<
=money)
{
您取了%d元钱"
x);
y=money-x;
printf(”您卡里的余额是%d元钱"
y);
}
elseif(x>
printf(”您卡里余额不足”);
}
}
voidzz()
{
intmoney=5000,id=1234;
intidd;
intx;
inty;
请输入卡号:
\n”);
scanf(”%d”,&idd);
if(idd==id)
printf(”您可以进行转账”);
}
elseif(idd!
=id)
请重新输入卡号\n"
while(idd!
=id);
请输入转账金额\n:
%d”,&
x);
if(x〈=money)
printf(”您转了%d元钱\n”,x);
y=money-x;
您卡里的余额是%d元钱\n"
y);
else
printf(”您卡里的余额不足\n”);
voidck()
{
intx,y;
您要存入的金额\n"
scanf(”%d"
&x);
y=money+x;
printf(”存款成功,请按确认键\n"
system(”cls"
voidxgmm()
intpassword=999666;
intx,x1;
原密码是%d\n"
password);
请输入新密码:
”);
请确认新密码"
%d”,&
x1);
if(x==x1)
printf(”修改密码成功\n"
printf(”请牢记\n”);
printf(”新密码是%d\n"
printf(”两次密码不一致:
请重新输入\n"
%d”,&x);
voidtc()
printf(”欢迎下次光临\n”);
printf(”请取出你的卡\n”);
谢谢\n"
exit(0);
}
voidguanliyuan()
intnum=456789;
intpasswd=123456;
inti;
intselect;
\n\n\n\n”);
printf(”\t\t\t欢迎使用\n”);
printf(”\t\t\t中国农业银行\n”);
\t\tATM取款机管理系统\n\n”);
欢迎进入管理系统\n”);
printf(”请输入管理员账户:
%d”,&
num);
请输入密码:
,&i);
if(i==passwd)
printf(”欢迎进入管理系统”);
elseif(i!
=passwd)
密码有误,请重新输入:
scanf(”%d”,&
do
pause”);
\t\t--—-———---——-—-——-—---—-———-—-——---\n”);
printf(”\t\t|\t\t|\t\t|\n"
printf(”+1.录入用户资料+\n”);
+2。
浏览用户资料+\n”);
printf(”+3.排序用户资料+\n"
printf(”+4。
查询用户资料+\n"
+5.修改用户资料+\n”);
printf(”请选择你所需要的功能:
%d"
lr();
ll();
px();
case4:
cxyh();
xgzl();
default:
printf("
输入有误,请在1~5之间选择。
while("
voidlr()
charusername[max];
charsfzh[max];
请输入用户名:
scanf(”%s"
,username);
printf(”请输入身份证号:
scanf("
%d”,&sfzh);
printf(”信息输入成功\n"
请再次输入用户名:
scanf(”%s”,username);
请再次输入身份证号:
%d”,&sfzh);
确认成功,请按任意键返回功能菜单\n”);
voidll()
charusername[max];
\n”);
scanf(”%c"
,&username);
printf(”显示用户信息\n”);
printf(”卡上金额:
5000\n"
voidpx()
printf(”请选择排序方式:
A按账号排序\n"
printf(”B按姓氏排序\n”);
printf("
C按开户时间\n"
D返回主菜单\n"
scanf(”%d”,&select);
switch(select)
case'
A'
:
\n输出按账号排序的所有用户信息"
case’B'
:
\n输出按姓氏排序的所有用户信息”);
case’C’:
\n输出按开户排序的所有用户信息”);
case’D’:
return;
printf(”很抱歉,暂无此排序方式!
"
voidcxyh()
intmethod;
intnum,num1;
charname[max];
printf(”\n请选择查询方式"
printf(”\n1。
按帐号查询”);
\n2。
按用户名查询"
printf(”\n3.显示全部用户信息”);
printf(”\n4.返回主菜单\n”);
%d”,&method);
switch(method)
\n请输入要查询的帐号:
,&num);
\n帐号姓名身份证号码卡上金额\n”);
scanf(”%d”,&
num1);
if(num==num1)
{
printf(”账号:
12345678\n”);
printf(”姓名:
张三\n"
printf(”身份证号码:
513901199010216121\n”);
printf(”卡上金额:
5000\n"
对不起,你所查找的用户不存在\n”);
break;
case2:
\n请输入要查询的用户名:
%s”,name);
printf(”\n帐号姓名身份证号码卡上金额\n"
账号:
身份证号码:
513901199010216121\n”);
printf(”卡上金额:
case3:
printf(”全部用户信息”);
%s”,name);
printf(”\n帐号姓名身份证号码卡上金额开户时间\n"
张三\n”);
printf(”身份证号码:
513901199010216121\n"
卡上金额:
printf(”开户时间:
2008。
08.08\n"
return;
很抱歉,暂无此查询方式!
voidxgzl()
charnum[max];
charname1[max],khsj1[max],age1[max],id1[max];
\n请输入要修改的用户的账号:
%s"
num);
printf(”\n请输入要修改的该用户的信息:
用户名”);
scanf(”%s"
name1);
printf(”\n2。
开户时间"
%s”,&khsj1);
\n3.年龄"
,&age1);
\n4.身份证号”);
scanf(”%c"
,&id1);
,&select);
printf(”\n请再次输入修改的信息:
printf(”\n1.用户名”);
&khsj1);
\n3.年龄”);
&age1);
\n4。
身份证号”);
scanf(”%c”,&id1);
name1);
%s”,khsj1);
scanf(”%s”,age1);
%s”,id1);
心得:
•经过一学期的C语言学习,我们掌握了C语言的基础知识,能够读懂别人用c语言设计的程序。
平时的程序设计大多是以填空的形式出现,虽然有所接触,但都不完全。
而这两周的课程设计,却让我们完完全全用自己学到的知识编写一个完整的体统程序.这是一个新的挑战,也是一种新的学习.都找不出毛病来的时候就会有想要放弃的念头。
有时候就直接关机去做别的事情,等再开始做程序的时候,才发现先前的错误所在。
这时候会有一种“柳暗花明又一村"
的欣慰感觉.总之,遇到困难,可以先放一放,让脑子休息一下,忘掉错误的记忆。
或许等过段时间再回过头来,就会很容易的发现之前的错误了.随着编好的程序越多,累积的经验也越多,查找错误就越快了.还有会发现很多程序有很多相似之处,可以通过复制修改的发式来编写。
虽然题目要求只需要一种查询方式,但当我编出规律之后自然就想多写两个,写完就会有很大的成就感了。
•当所有功能函数都编好后,我用主函数将他们串起来,这是遇到最大的问题就是经过删除、添加后职工人数会发生变化。
想了很久,又翻以前的课堂笔记,最后想到了定义全局指针变量来解决这个问题。
这个问题的成功解决预示着我们的ATM系统大功告成!
•