- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-ATM机模拟操作
程序实现功能点:
查询:查询帐户的存款余额。按任意键返回主菜单;
取款:输入100、500、1000、2000、5000、其它金额为取款金额,取款金额不超过帐户余额,操作后帐户余额应相应减少,之后可返回主菜单;
存款:输入100、500、1000、2000、5000、其它金额为存款金额,存款金额不超过20000元,操作后帐户余额应相应增加。之后可返回主菜单;
转帐:输入一个帐户号,程序判断与文件信息是否相符,储户确认无误后,再输入100、500、1000、2000、5000、其它金额为转帐金额,转帐金额不得超过帐户余额,操作后帐户余额应相应减少。之后可返回主菜单;
修改密码:连续输入两次新密码(两次输入结果完全相同)后,新密码取代旧密码,并存放到帐户信息文件中。之后可返回主菜单;
退出:退出系统;
帮助:增加趣味性;
存款时,可正可负,正表示存款,负表示取款;
帐户信息存放在accounts.txt文件,储户存取款记录保存在records.txt中;(在目录下创建这两个文件)
采用模块化程序设计方法来实现,即main()显示主菜单、调用相关函数实现相应功能,起主控作用;
储户一天内输错密码的次数不能超过3次,否则无法进入系统;
有效避免输入存款金额、取款金额为负数等异常情况的出现。
较为突出的功能是注册、登录时账号密码的核对验证;存款转出转入金额的核对。是否超过余额,是否不符合格式,是否为冲突操作。
(2)程序运行截图及说明(每图限50到100字);
进入程序,menu1可选择登录、注册功能。
选择登录,输入账号密码,通过输入内容与文件的匹配,判断是否成功登录。若登录失败,则重新选择。
选择注册,输入账号密码,写入文件中。
进入menu2,有五大功能选择,输入对应的序列号进入。
余额查询功能输出账号所对应的余额。
取款功能,需要安装要求取出格式化的金额。
存款功能,选择金额,若超过存款,自动报错。存储成功后,在屏幕上显示余额并可在txt中看到对应数目的增加。
修改密码功能,输入当前密码,输入新密码,并进行确认。即修改成功。
转账功能,输入对方卡号,核程序核对卡号是否存在,选择金额转账,对应存款的减少会反映在屏幕的余额上。
退出功能,任意键退出程序。
帮助功能,介绍了本程序的相关信息。
(3)采用的主要技术(限150到200字);
答:主要采用模块化管理代码。使用结构体对文本信息进行操作、运用文件操作相关函数如fwrite()、fread()、fgets()、fputs()、fgetc()、fputc()、fopen()、fclose()......
并使用指针操作数值。
附:程序代码
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#define N 3
void enterzhanghao(); //ATM账号输入函数
void inputmima(); //密码输入函数
void menu(); //操作界面
void Withdraw(); //取款函数
void daly(); //延时函数
void yuer(); //余额查询函数
void Desposit(); //存款函数
int quit(); //退出界面函数
void change(); //密码修改
void read(); //文件读取函数
void write(); //文件写入函数
void write2(float h); //流水账函数
void tran_account();//转账函数
void enter();//登录函数
void flesh();//注册函数
void help();//帮助
typedef struct
{
int num;
int password;
double accounte;
}atm;
atm ATM[N] = { { 10001, 111111, 10000 }, { 10002, 222222, 20000 }, { 10003, 333333, 30000 } };
typedef struct
{
int year;
int month;
int day;
}riqi;
int k;
int main()
{
enterzhanghao()
文档评论(0)