问题描述:
相信大家都在ATM机上取过钱吧,本博客将模拟ATM机的界面以及实现简易的功能(账户密码修改,账户余额查询,取款,存款)
鉴于水平有限,如有不足之处,请多多指教
头文件:ATM.H
#ifndef _ATM_H__
#define _ATM_H__
//包含的头文件
#include<stdio.h> //printf scanf
#include<stdlib.h> //exit
//功能模块
void chaXun(int *balance); //查询余额
int quKuan(int *balance); //取款
int gaiMiMa(int CODE); //修改密码
int cunKuan(int *balance); //存款
void meau(); //功能菜单
#endif
函数实现:ATM.cpp
#include"ATM.h"
/*初始密码CODE:123456,账号ID:123456,账户余额**balance1000*/
//查询账户余额
void chaXun(int *balance)
{
int n = *balance;
printf("您的当前账户余额为:%d\n",n);
}
//取款
int quKuan(int *balance)
{
int moneyTaken;//取款金额
int moneyLeft;//取款之后剩余金额
printf("请输入您取款的金额:\n");
scanf("%d",&moneyTaken);
moneyLeft = *balance - moneyTaken;
if(moneyLeft < 0)
{
printf("对不起,您的余额不足!\n");
}
else
{
printf("请您收好你所取得金额:%d\n",moneyTaken);
*balance = *balance - moneyTaken; //更新余额
}
return *balance;
}
//修改密码
int gaiMiMa(int CODE)
{
int oldCode; //旧密码
int newCode; //新密码
int n = 3; //开始有三次输入密码的机会
while(n)
{
printf("请输入您的旧密码:\n");
scanf("%d",&oldCode);
if(CODE == oldCode)
{
printf("请输入六位新密码:\n");
scanf("%d",&newCode);
CODE = newCode;
n = 0;
printf("密码修改完毕,请妥善保管\n");
}
else
{
printf("密码错误,您还剩余%d次机会\n",n-1);
n--;
if(n == 0)
{
printf("账号已锁,请到有关部门处理!\n");
return 0;
}
}
}
return CODE;
}
//存款
int cunKuan(int *balance)
{
int moneyPut;
printf("请输入您要存款的金额:\n");
scanf("%d",&moneyPut);
if(moneyPut > 0)
{
printf("金额存入成功!\n");
*balance = *balance + moneyPut;
}
else
{
printf("对不起,没有负金额!\n");
}
return *balance;
}
void meau()
{
printf("功能目录如下:\n");
printf("1:取款\n");
printf("2:存款\n");
printf("3:修改密码\n");
printf("4:查询余额\n");
printf("0:退出\n");
}
主函数:main.cpp
#include"ATM.h"
int main()
{
int balance = 1000; //账户余额
int CODE = 123456; //初始密码
int ID = 123456; //初始账号
int b = 1; //登入系统标志位
int id; //用户输入的账号
int code; //用户输入的密码
int n = 1; //功能选择标志位以及标号
printf("**********欢迎使用ATM**********\n");
while(1 == b)
{
printf("请输入您的账号:\n");
scanf("%d",&id);
printf("请输入您的密码:\n");
scanf("%d",&code);
if(CODE == code && ID == id)
{
b = 0;
printf("您当前账户余额为:%d\n",balance);
}
else
{
printf("输入有误,请重新输入!\n");
}
}
while(n)
{
meau();
printf("请选择您所需的功能:\n");
scanf("%d",&n);
switch(n)
{
case 1:
quKuan(&balance);
break;
case 2:
cunKuan(&balance);
break;
case 3:
gaiMiMa(CODE);
break;
case 4:
chaXun(&balance);
break;
case 0:
printf("感谢您的使用,再见!\n");
exit(0);
break;
default:
break;
}
}
return 0;
}
/*
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf(" * * * * * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * * * * * *\n");
printf(" *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * * * * * * *\n");
system("pause");
return 0;
}
*/
执行结果: