/**
项目名称:模拟银行ATM机
作 者:捷哥
开发日期:2011年12月3日
**/
#include <stdio.h>
#include <stdlib.h>
//全局变量声明
float account=0;
float money=0;
/* showMenu模块
功能:显示功能菜单,读取用户的操作选择
输入:无
输出:返回用户输入的功能选择
*/
int showMenu()
{
int choice;
system("cls"); //调用DOS命令cls,清除屏幕
printf("*****欢迎使用ATM机*****\n");
printf("\n1、查询余额\t2、存款\t3、取款\t0、退出\n");
printf("\n请选择服务种类:");
scanf("%d",&choice);
return choice;
}
/*getMoney模块
功能:显示用户账号的余额
输入:无
输出:返回用户账号的余额
*/
float getMoney()
{
return account;
}
/*
deposit模块
功能:根据用户输入的钱数进行账号余额的增加
输入:待存款的金额
输出:无
*/
void deposit(float money)
{
account=account+money;
}
/*
withdraw模块
功能:根据用户输入的钱数进行减少,如果余额不够则提示不能完成
输入:待取的金额
输出:无
*/
void withdraw(float money)
{
if(account<money)
{
printf("抱歉,余额不足\n");
}
else
{
account=account-money;
}
}
//主函数
int main(void)
{
int choice=0;
float tmp; //临时存放存款或取款的地方
choice=showMenu(); //choice变量的值来自于showMenu()返回值
//当选择不是0时,进入循环开始办理业务
while(choice!=0)
{
//.2%f表示只取两位小数
switch(choice)
{
case 1:
printf("当前余额:%.2f\n",getMoney());
break;
case 2:
printf("请输入存款金额:");
scanf("%f",&tmp);
deposit(tmp); //调用deposit
printf("存入成功,当前余额是:%.2f\n",getMoney());
break;
case 3:
printf("请输入存款金额:");
scanf("%f",&tmp);
withdraw(tmp); //调用withdraw
printf("当前余额是:%.2f\n",getMoney());
break;
}
getch(); //用户按任意键退出
choice=showMenu(); //改变循环条件,重新赋值
}
printf("欢迎使用银行ATM机,再见!\n");
return 0;
}