C语言课程设计ATM取款机.docx
- 文档编号:18274428
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:23
- 大小:28.09KB
C语言课程设计ATM取款机.docx
《C语言课程设计ATM取款机.docx》由会员分享,可在线阅读,更多相关《C语言课程设计ATM取款机.docx(23页珍藏版)》请在冰点文库上搜索。
C语言课程设计ATM取款机
一、课程设计目的
1、掌握C语言数组、函数、指针、结构体的综合应用。
2、掌握使用C语言,进行应用性的开发。
3、掌握系统数据结构与算法的设计。
二、课程设计内容
1、数据结构。
(1)客户账户(custmer):
账户ID
(2)客户账户数据库(CustmerDB):
2、实现查询、取款、转账等业务操作算法。
三、课程设计过程
1、系统的总体设计
使用数据结构定义用户空间,存储着用户的卡号、密码、和金额。
在使用其他函数去访问该空间,实现查询、取款、转账等操作。
(1)定义用户存储空间:
包含用户的卡号、密码、和金额
typedefstructlnode{
intID;
intmima;
intdata;
structlnode*next;
}lnode,*linklist;
(2)添加新用户
voidnewlist(linklistl,intx,inty,intz){
linklistp,r;
r=l;
p=(linklist)malloc(sizeof(lnode));
p->ID=x;
p->mima=y;
p->data=z;
p->next=r->next;
r->next=p;
}
(3)查询函数
voidchaxun(linklistl){
printf("你当前的余额为:
");
printf("%d",l->data);
printf("元\n");
}
(4)取款函数
voidqukuan(linklistl){
intx;
printf("输入要取款的金额\n");
scanf("%d",&x);
if(x>l->data)
printf("余额不足\n");
else
{
l->data=l->data-x;
printf("请收好你的钱\n");
}
}
(5)转账函数
voidzhuanzhang(linklistl,linklisthead){
inta,b;
intflag=1;
linklistz;
printf("请输入要转入的账户\n");
scanf("%d",&a);
z=find(head,a);
if(z!
=NULL)
{
while(flag)
{
printf("请输入要转入的金额\n");
scanf("%d",&b);
if(b>l->data)
printf("余额不足\n");
else
{
l->data=l->data-b;
z->data=z->data+b;
printf("转账成功\n");
flag=0;
}
}
}
else
printf("请输入正确的卡号\n");
}
2、系统的数据结构设计、算法设计(画出算法流程图)
开始
输入卡号
不存在存在
输入密码
错误
密码正确
1.查询
2.取款
3.转账
4.退出
1
2
3
4
查询
取款
转账
退出
3、程序清单
#include"stdio.h"
#include"malloc.h"
#include"stdlib.h"
#include"string.h"
typedefstructlnode{
intID;
intmima;
intdata;
structlnode*next;
}lnode,*linklist;
linklistinitlist(){
linklisthead;
head=(linklist)malloc(sizeof(lnode));
head->next=NULL;
returnhead;
}
voidnewlist(linklistl,intx,inty,intz){
linklistp,r;
r=l;
p=(linklist)malloc(sizeof(lnode));
p->ID=x;
p->mima=y;
p->data=z;
p->next=r->next;
r->next=p;
}
linklistfind(linklistl,intx)
{
l=l->next;
while(l!
=NULL)
{
if(x==l->ID)
break;
else
l=l->next;
}
if(l!
=NULL)
returnl;
else
returnNULL;
}
voidchaxun(linklistl){
printf("你当前的余额为:
");
printf("%d",l->data);
printf("元\n");
}
voidqukuan(linklistl){
intx;
printf("输入要取款的金额\n");
scanf("%d",&x);
if(x>l->data)
printf("余额不足\n");
else
{
l->data=l->data-x;
printf("请收好你的钱\n");
}
}
voidzhuanzhang(linklistl,linklisthead){
inta,b;
intflag=1;
linklistz;
printf("请输入要转入的账户\n");
scanf("%d",&a);
z=find(head,a);
if(z!
=NULL)
{
while(flag)
{
printf("请输入要转入的金额\n");
scanf("%d",&b);
if(b>l->data)
printf("余额不足\n");
else
{
l->data=l->data-b;
z->data=z->data+b;
printf("转账成功\n");
flag=0;
}
}
}
else
printf("请输入正确的卡号\n");
}
voidmain()
{
inti,flag=1;
intx,y;
linklistl,temp;
l=initlist();
newlist(l,1001,1,1100);
newlist(l,2002,2,2200);
newlist(l,3003,3,3300);
newlist(l,4004,4,4400);
newlist(l,5005,5,5500);
while
(1)
{
system("date/T");
system("TIME/T");
printf("╔══════════╗\n");
printf("║欢迎光临中国世界银行║\n");
printf("╚══════════╝\n");
while(flag)
{
printf("请输入你的卡号\n");
scanf("%d",&x);
temp=find(l,x);
if(temp!
=NULL)
flag=0;
else
printf("您输入的卡号不存在\n");
}
flag=1;
while(flag)
{
printf("请输入你的密码\n");
scanf("%d",&y);
if(temp->mima==y)
flag=0;
else
printf("密码错误\n");
}
flag=1;
while(flag)
{
printf("
printf("
printf("
printf("
printf("
printf("
╔══════════════╗║请选择你要的操作║※1-->查询余额║※2-->取款║※3-->转账║※4-->退出
\n");
║\n");
║\n");
║\n");
║\n");
║\n");
printf("╚══════════════╝\n");scanf("%d",&i);
switch(i)
{
case1:
chaxun(temp);
break;
case2:
qukuan(temp);
break;
case3:
zhuanzhang(temp,l);
break;
case4:
printf("请收好你的磁卡\n");
flag=0;
break;
}
}
flag=1;
}
}
4、系统运行结果截图
开始登入界面,显示现在的时间日期,并要求输入卡号:
卡号不存在时,提示输入的卡号不存在:
卡号存在时,提示输入密码:
密码输入错误时,提示密码错误,继续输入密码:
密码输入正确,显示操作界面,包含查询,取款,转账功能:
查询操作:
取款操作:
取款金额大于卡内余额时,提示余额不足:
转账操作:
退出系统:
四、课程设计体会
通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,本次课程设计让我掌握C语言数组、函数、指针、结构体的
综合应用。
掌握使用C语言,进行应用性的开发。
掌握系统数据结构
与算法的设计。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 ATM 取款