题目要求:
输入银行卡密码,如果密码正确则显示操作界面,循环提示“请输入操作选项:”,其中按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");
}
}
}