C语言ATM程序设计.docx

上传人:b****6 文档编号:6175237 上传时间:2023-01-04 格式:DOCX 页数:19 大小:20.19KB
下载 相关 举报
C语言ATM程序设计.docx_第1页
第1页 / 共19页
C语言ATM程序设计.docx_第2页
第2页 / 共19页
C语言ATM程序设计.docx_第3页
第3页 / 共19页
C语言ATM程序设计.docx_第4页
第4页 / 共19页
C语言ATM程序设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言ATM程序设计.docx

《C语言ATM程序设计.docx》由会员分享,可在线阅读,更多相关《C语言ATM程序设计.docx(19页珍藏版)》请在冰豆网上搜索。

C语言ATM程序设计.docx

C语言ATM程序设计

C语言程序设计

专题实习

学校:

宁夏工业职业学院

系别:

2012级矿山机电系

姓名:

张峰周彦超魏宗涛董照明

班级:

矿山机电2班

实习时间:

2014—6—18

 

实习目的

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

h>

#include

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();break;

default:

break;

}

voidyonghu()

{inti;

intnum=999666;

inttimes;

intselect;

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”);

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(”+1。

查询+|\n");

printf("+2.取款+\n");

printf(”3。

转账+|\n");

printf("+4.修改密码+\n");

printf(”+5.存款\n”);

printf(”+6.退出程序+\n");

system("pause”);

system("cls”);

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()

intnum=456789;

intpasswd=123456;

inti;

intselect;

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");

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(”+1.录入用户资料+\n”);

printf("+2。

浏览用户资料+\n”);

printf(”+3.排序用户资料+\n");

printf(”+4。

查询用户资料+\n");

printf("+5.修改用户资料+\n”);

system(”pause”);

system(”cls");

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(”\n1。

按帐号查询”);

printf("\n2。

按用户名查询");

printf(”\n3.显示全部用户信息”);

printf(”\n4.返回主菜单\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(”身份证号码:

513901199010216121\n”);

printf(”卡上金额:

5000\n");

}

else

printf("对不起,你所查找的用户不存在\n”);

break;

}

case2:

printf("\n请输入要查询的用户名:

”);

scanf("%s”,name);

printf(”\n帐号姓名身份证号码卡上金额\n");

printf("账号:

12345678\n”);

printf("姓名:

张三\n");

printf("身份证号码:

513901199010216121\n”);

printf(”卡上金额:

5000\n");

break;

case3:

printf(”全部用户信息”);

scanf("%s”,name);

printf(”\n帐号姓名身份证号码卡上金额开户时间\n");

printf(”账号:

12345678\n”);

printf("姓名:

张三\n”);

printf(”身份证号码:

513901199010216121\n");

printf("卡上金额:

5000\n");

printf(”开户时间:

2008。

08.08\n");

break;

case4:

return;

default:

printf("很抱歉,暂无此查询方式!

”);

break;

system(”pause");

system("cls”);

}

voidxgzl()

{

charnum[max];

intselect;

charname1[max],khsj1[max],age1[max],id1[max];

printf("\n请输入要修改的用户的账号:

\n");

scanf("%s",num);

printf(”\n请输入要修改的该用户的信息:

");

printf(”\n1。

用户名”);

scanf(”%s",&name1);

printf(”\n2。

开户时间");

scanf("%s”,&khsj1);

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",&khsj1);

printf("\n3.年龄”);

scanf(”%d",&age1);

printf("\n4。

身份证号”);

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");

}

}

心得:

•经过一学期的C语言学习,我们掌握了C语言的基础知识,能够读懂别人用c语言设计的程序。

平时的程序设计大多是以填空的形式出现,虽然有所接触,但都不完全。

而这两周的课程设计,却让我们完完全全用自己学到的知识编写一个完整的体统程序.这是一个新的挑战,也是一种新的学习.都找不出毛病来的时候就会有想要放弃的念头。

有时候就直接关机去做别的事情,等再开始做程序的时候,才发现先前的错误所在。

这时候会有一种“柳暗花明又一村"的欣慰感觉.总之,遇到困难,可以先放一放,让脑子休息一下,忘掉错误的记忆。

或许等过段时间再回过头来,就会很容易的发现之前的错误了.随着编好的程序越多,累积的经验也越多,查找错误就越快了.还有会发现很多程序有很多相似之处,可以通过复制修改的发式来编写。

虽然题目要求只需要一种查询方式,但当我编出规律之后自然就想多写两个,写完就会有很大的成就感了。

•当所有功能函数都编好后,我用主函数将他们串起来,这是遇到最大的问题就是经过删除、添加后职工人数会发生变化。

想了很久,又翻以前的课堂笔记,最后想到了定义全局指针变量来解决这个问题。

这个问题的成功解决预示着我们的ATM系统大功告成!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1