C语言课程设计ATM机模拟操作附源码.docx

上传人:b****8 文档编号:10365314 上传时间:2023-02-10 格式:DOCX 页数:12 大小:31.84KB
下载 相关 举报
C语言课程设计ATM机模拟操作附源码.docx_第1页
第1页 / 共12页
C语言课程设计ATM机模拟操作附源码.docx_第2页
第2页 / 共12页
C语言课程设计ATM机模拟操作附源码.docx_第3页
第3页 / 共12页
C语言课程设计ATM机模拟操作附源码.docx_第4页
第4页 / 共12页
C语言课程设计ATM机模拟操作附源码.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言课程设计ATM机模拟操作附源码.docx

《C语言课程设计ATM机模拟操作附源码.docx》由会员分享,可在线阅读,更多相关《C语言课程设计ATM机模拟操作附源码.docx(12页珍藏版)》请在冰豆网上搜索。

C语言课程设计ATM机模拟操作附源码.docx

C语言课程设计ATM机模拟操作附源码

C语言・ATM机模拟操作

程序实现功能点:

a.査询:

查询帐户的存款余额。

按任意键返回主菜单;

b.取款:

输入100>500、1000、2000、5000、其它金额为取款金额,取款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单;

C.存款:

输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后帐户余额应相应增加。

之后可返回主菜单;

d.转帐:

输入一个帐户号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相应减少。

之后可返回主菜单;

e.修改密码:

连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。

之后可返回主菜单;

f.退出:

退出系统;

g.帮助:

增加趣味性;

h.存款时,可正可负,正表示存款,负表示取款;

i.帐户信息存放在文件,储户存取款记录保存在中;(在目录下创建这两

个文件)

j.采用模块化程序设计方法来实现,即mainO显示主菜单、调用相关函数实现相应功能,起主控作用;

k.储户一天内输错密码的次数不能超过3次,否则无法进入系统;

l.有效避免输入存款金额、取款金额为负数等异常情况的出现。

较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。

是否超过余额,是否不符合格式,是否为冲突操作。

(2)程序运行截图及说明(每图限50到100字);

进入程序,menul可选择登录、注册功能。

选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。

若登录失败,则重新选择。

IG\V/lNDOV/S\iy%tem32\cmdrxe

_□

选择注册,输入账号密码,写入文件中。

IG\V/1NDOV/S\iyitem32\cmdrxr

-□

进入menu2,有五大功能选择,输入对应的序列号进入。

A/S\system32\cmd.exe

余额査询功能输出账号所对应的余额O

item32\cmd.exe

帐号10001,余额:

10000.00

育询余额取款存款

修改密码转账

退出登录

取款功能,需要安装要求取出格式化的金额。

m32\cmd.exe

iff输入你要取款的金额:

100

200

500

1000

2000其他金额

请输入对应序列号:

•2\cmd.exe

取款成功!

你的余额为:

9900.000000

』、、・、、

123456

询款款改账出查取存修转退

存款功能,选择金额,若超过存款,自动报错。

存储成功后,在屏幕上显示余额并可在txt中看到对应数目的增加。

n32\cmd.exe

请输入你要取款的金额:

100

200

500

1000

2000其他金额

请输入对应序列号:

修改密码功能,输入当前密码,输入新密码,并进行确认。

即修改成功。

▼林

31CAV/INDOWS\sy5tem32\cmd.exe

:

mm

请输入新的密码:

222222

请再次输入新的密码:

222222

码修改成功!

勺£左一询款款改账出一S取存修转退一

-

-123456-

转账功能,输入对方卡号,核程序核对卡号是否存在,选择金额转账,对应存款的减少会反映在屏幕的余额上。

o•返回菜单

请输要对方的账号:

退出功能,任意键退出程序。

曲C:

\WINDOWS\$^tem32\cmd^xe

按任总健继续

帮助功能,介绍了本程序的相关信息。

何BSCAWINDOWSUystem32\cmd.exe

额码录余密登询歉歉改账出助直取存修转退帮一

-

(3)采用的主要技术(限150到200字);

答:

主要采用模块化管理代码。

使用结构体对文本信息进行操作、运用文

件操作相关函数如fwrite()>fread()、fgets()、fputs()>fgetc()>

fputc()、fopen()、fclose()

并使用指针操作数值。

附:

程序代码

ftincludeO

tiincludeO

ttincludeO

ttincludeO

tiincludeO

ttdefineN3

voidenterzhanghao():

um))

{

for(k=1;k

{

if(user==(ATM[k].num))

inputmimaO;

}

system("cis");

请从新输入

printf("\t\t\t\t\t*账户不存在,

*\t\t\t\t\t\n");

enterzhanghao();

}

inputmimaO;

voidflesh()

system("cls〃);

printf(z,\t\t\t\t\t请输入账号:

”);scanf&ATM[k].num);

printf("\t\t\t\t\t请输入密码:

");scanf&ATM[kJ.password);

write();

}assword)

temp——;

systemCcls");

printf(〃\t\t\t\t\t*

密码错误,请重新输入

printf(〃\t\t\t\t\t*

您还有:

〃);

printftemp);

printfC次机会*\n");

scanf&code);

if(temp==1)

system("cls");

printf("\t\t\t\t\t*您已经3次输入密码错误

*\t\t\t\t\n,z);

printf("\t\t\t\t\t*系统将退出操作

daly();

enterzhanghao();

}

}

menu();

}

ccounte&&i!

==0)

{

ATM[kJ.accounte=ATM[k].accounte-i:

printf(,z\t\t\t\t\t取款成功!

你的余额为:

”);

printfATM[k].accounte);

i=i*(-1);

write2(i);

}

write();

lf\n\n\n\n\nz,,ATM[k]・num,ATMLk]・accounte);

}

ccounte二i+ATM[k]・accounte:

printfATM[kJ.accounte);

write();

write2(i);

}

assword)

{

loop:

printf(,z\t\t\t\t\t请输入新的密码:

”);

scanf(“%d",&password?

);

printf("\n");

printf(zz\t\t\t\t\t请再次输入新的密码:

");

scanf(z,%d/z,&password3);

if(password2二二password3)

{

ATM[k]・password二password2;

}

printfC\t\t\t\t\t\n密码不一致!

\rT);printf("\t\t\t\t\t请重新输入\n");gotoloop;

}

}

else

printfC\t\t\t\t\t输入错误\iT);change();

}

write();

fscanf(fp,&(ATMLi]・password));

fscanf(fp,&(ATM[i].accounte));

}

fclose(fp);

}

um);

fclose(fp);

}

回菜单〃);

printf("\n\n\n\n\n\n\t\t\t请输要对方的账号:

”);

scanfC%d,z,other_num[10]):

um)um)

um);回菜单\t\t\t9.确认");

scanf&c);回菜单");

printf("\n\n\n\n\n\n\t\t请输入转账金额(整

百数):

〃);

scanf&q);getchar();

if(q)ccounte)ccounte-二tran;

ATM[k]・accounte+二tran;

menu();回菜单\t\t\t9.继续

转账〃);

c=_getch();

if(c='9')〃输入9就行

转账

system("CLS〃);

else

if(c=P)〃c为0返回菜单

{

system("CLS");

menu();

}

else

{

printf(,z输入错误,请重新输入!

\n〃);

system("CLS");

}

}

else

{

system("CLS");

printf("\n\n\n\n\n\n\t\t对不起,一次最多能转账3000元,请重新输入!

〃);

回!

\n〃);

}

else

{

system(,/CLS,/);

printf(,z\n\n\n\n\n\n\t\t\t您的余额不足,请重新输入!

〃);

printf("\n\n\n\n\n按任意键返回

\n");

_getch();

system("CLS");

}

}

else

{

system(/,CLS,/);

printf(z/\n\n\n\n\n\n\t\t\t请输入正确的金额!

请重新输入!

〃);

\n");

system("CLS");

}

else

{

system("CLS");

menu();

}

}whi.le

(1);

}

else

if(c=='O')

menu();

}

}

system("CLS");

printf(z,\n\n\n\n\n\n\t\t\t用户不存在!

请重新输入!

“);

system("CLS");

tran_account();//递归调用

 

}

}

〃帮助

voidhelp()

system("CLS");

 

printf(/z\t\t\t\t\t->码字不易,我可以在你心电跑一圈吗

<-\n,0;

printf(,,\t\t\t\t\t~>可以

<-\n,z);

printf(z,\t\t\t\t\t->当然可以

<-\n0;

 

你要选哪个

printf(〃\t\t\t\t\t-〉

intk;

scanf&k);

switch(k){

menu();

case1:

{printf("蟹蟹你、\n〃);_getch();

};break;

_getch();menu();

case2:

{printf("等下我,第十圈了!

\3n");

}break;

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

当前位置:首页 > 小学教育 > 语文

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

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