C语言ATM程序设计.docx

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

C语言ATM程序设计.docx

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

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

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

{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