题目要求: 输入银行卡密码,如果密码正确则显示操作界面,循环提示“请输入操作选项:”,其中按1键实现“查询余额”功能,按2键实现“取款”功能,按3键实现“存款”功能,按4键实现“退卡”功能,按5键实现“返回”功能,如果密码错误,则提示“密码错误,请重新输入!”。 步骤: 首先将账户金额定义为全局变量,然后编写密码验证函数、界面显示函数、余额查询函数、取款函数和存款函数,再编写主程序调用各个函数实现各种功能操作。具体操作流程如图所示。 具体算法如下。 ① 定义全局变量,用于存储账户金额。 ② 编写密码验证函数,采用双分支语句判断密码对错。 ③ 编写界面显示函数,模拟ATM机界面。 ④ 编写查询余额函数。 ⑤ 编写取款函数,输入取款金额,计算余额。 ⑥ 编写存款函数,输入存款金额,计算余额。 ⑦ 在主函数中调用所编写的函数,模拟实现ATM机的取款操作。
实现代码:
#include <stdio.h> void main(){ int password=123456;//默认银行密码为123456 int password_input; int work_choose; int qu_money; int cun_money; int all_money=10000; printf("请输入银行卡密码:"); while(scanf("%d",&password_input)) { if(password == password_input)//密码校验 { printf("中国建设银行ATM\n"); printf("---------------------------------------------------------\n"); printf("1.查询余额 2.取款 3.存款 4.退卡 5.返回\n"); printf("---------------------------------------------------------\n"); while(scanf("%d",&work_choose)) { if(work_choose==1) { printf("账户余额:%d元\n",all_money); } else if(work_choose==2) { printf("请输入取款金额:"); scanf("%d",&qu_money); if(qu_money<all_money) { printf("取款完成!\n"); all_money-=qu_money; printf("\n"); } else { printf("余额不足,您目前余额为%d\n",all_money); printf("\n"); } } else if(work_choose==3) { printf("请输入存款金额:"); scanf("%d",&cun_money); all_money+=cun_money; printf("存款完成!您目前的余额为%d\n",all_money); printf("\n"); } else if(work_choose==4) { printf("退卡成功!\n"); printf("\n"); return; } else if(work_choose==5) { printf("返回成功!请输入密码:"); printf("\n"); break; } printf("请输入操作选项:"); } }else { printf("密码错误,请重新输入!\n"); } } }