功能需求分析
ATM功能主界面:显示所能进行的操作,用户可多次选择。
ATM注册界面:输入用户名,用户密码,确认密码,密码长度不是六位重新输入,两次密码不一致重新输入,输入账号。密码隐藏,实现退格换行对*无影响。多人注册
ATM登录界面:输入账号,密码,三次以内输入密码正确出现服务界面,否则退出系统。
ATM服务界面:登录后选择所需服务,用户可多次选择。
ATM查询界面
ATM存款界面
ATM取款界面:判断账户里是否有足够的钱来转,若有,显示成功,否则,显示余额不足
ATM转账界面:输入对方账号判断其是否存在,若在,判断此账户是否有足够的钱来转,若有,从该账户减所转金额,对方账户加多转金额
ATM修改密码界面:输入旧密码判断是否有修改密码权限,输入新密码,确认新密码,若两者相同,新密码覆盖旧密码若不相同,重新输入
ATM注销界面:输入要注销账户,提示是否注销账户界面
ATM退出系统界面
编程问题总结
1.在进入下一个服务界面的时候不能重新开启新的一页
解决方案:应用清屏操作system(“cls”)
2. 清屏时编译有误
解决方案:加上头文件stdib.h
3. 欢迎界面%上下跳动printf("\t\t\t\n%d%%",i);
解决方案:去掉前面三个\t
4.欢迎界面停留时间太短
解决方案:用延迟for(int m=0;m<=500000000;m++);
5.主界面无法输入所选服务对应字符
解决方案:(1)应用清除键盘缓冲区的回车符操作fflush(stdin);
(2)用getch()输入字符
6.注册界面密码不安全
解决方案:用循环语句使*代替数字
while(1)
{mima[i]=ch;
i++;
printf("*");}
7.若密码输入退格,换行也被用*代替
解决方案:用选择语句使其忽略
8.注册后,用户各种信息分散,不便于一起拿出
解决方案:用结构体
9.不同用户注册,后一个账号总是覆盖前一个账号
解决方案:定义count,执行count++
10.每次再运行程序之前用户消失
解决方案:应用文件指针操作
11.账号自动生成
解决方案:在文件指针中找,若无数据,则初始化一个值,若有,则取最后一条记录加一