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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用;

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

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

较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。是否超过余额,是否不符合格式,是否为冲突操作。

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

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

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

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

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

余额查询功能输出账号所对应的余额。

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

存款功能,选择金额,若超过存款,自动报错。存储成功后,在屏幕上显示余额并可在txt中看到对应数目的增加。

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

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

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

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

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

答:主要采用模块化管理代码。使用结构体对文本信息进行操作、运用文件操作相关函数如fwrite()、fread()、fgets()、fputs()、fgetc()、fputc()、fopen()、fclose()......

并使用指针操作数值。

附:程序代码

#include<>

#include<>

#include<>

#include<>

#include<>

#define N 3

void enterzhanghao(); um))

{

for (k = 1; k < N; k++)

{

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

inputmima();

}

system("cls");

printf("\t\t\t\t\t* 账户不存在,请从新输入*\t\t\t\t\t\n");

enterzhanghao();

}

else

inputmima();

}

void flesh()

{

system("cls");

printf("\t\t\t\t\t请输入账号:");

scanf("%f", &ATM[k].num);

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

scanf("%f", &ATM[k].password);

write();

}

assword)

{

temp--;

system("cls");

printf("\t\t\t\t\t* 密码错误,请重新输入*\t\t\t\t\n");

printf("\t\t\t\t\t* 您还有: ");

printf("%d", temp);

printf(" 次机会 *\n");

scanf("%d", &code);

if (temp == 1)

{

system("cls");

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

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

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

daly();

enterzhanghao();

}

}

menu();

}

ccounte&&i != 0)

{

ATM[k].accounte = ATM[k].accounte - i;

printf("\t\t\t\t\t取款成功!你的余额为:");

printf("%f", ATM[k].accounte);

i = i*(-1);

write2(i);

}

else

printf("\t\t\t\t\t余额不足!");

相关文档
最新文档