银行系统(第十三周上机任务)

/*          
* 程序的版权和版本声明部分          
* Copyright (c)2012, 烟台大学计算机学院          
* All rightsreserved.          
  
* 作    者:樊露露                                 
* 完成日期:2012年11月24日          
* 版 本 号: v1.0                
* 输入描述:无          
* 问题描述:  调用函数编程银行系统  
* 程序输出:  银行各种业务    
* 问题分析:   
*/        

#include<iostream>
using namespace std;
int account1=123;//账号
int pwd1=123456;//密码
int currentAccount;//用全局变量保存当前登录的用户
double balance1=10000;//账号内的钱

int checkStatus();//登录账户
void work();//处理业务
void deposit();//存款
void drawmoney();//取款
void transferAccounts();//转账
void updatePassword();//修改密码
void showbalance();//查询余额
int main()  
{  
	int status;
	char ch;
	cout<<"中国银行欢迎您!"<<endl;
	while(1)  //支持用户多次登录办理业务
	{
		status=checkStatus();
		if(1==status)
			work();
		else if(2==status)
			cout<<"欢迎下次光临……"<<endl;
		else
			cout<<"吞卡,请联系就近网点解决……"<<endl;
		cout<<"=====要退出系统,请按键Q,其他键继续下一位用户登录======"<<endl;
		fflush( stdin );  //清空输入缓冲区,否则getchar()自动获得
		ch=getchar();
		if(ch=='q'||ch=='Q')break;
	}
	
	return 0;
}
int checkStatus()//登录账户
{
	int iStatus=3;
	int iPass,num=1;
	char goOn;
	cout<<"请输入账号:";
	cin>>currentAccount;
	do
	{	
		if(num==1)
			cout<<"请输入密码";
		else
		{
			cout<<"温情提示:这是您第"<<num<<"次输入密码,三次不对将吞卡。"<<endl;
			cout<<"还要继续尝试吗(继续输入Y,退出输入N,之后回车):";
			cin>>goOn;
			if('Y'==goOn||'y'==goOn)
				cout<<"请再次输入密码";
			else
			{
				iStatus=2; 
				break;
			}
		}
		cin>>iPass;
		if(iPass==pwd1&¤tAccount==account1)
		{
			iStatus=1;
			break;
		}
		++num;
	}while(num<4);//密码不正确且次数在允许范围内循环
	//如果在循环因为num==4为真而退出,iStatus的值还保持初始3,代表吞卡
	return iStatus;
}
void deposit()//存款
{
	double money;  
	if(currentAccount==account1)   //确定帐户
	{
		cout << "请输入存款金额:";  
		cin >> money;  
		balance1+=money; //取款成功
		cout<<"存款后,您的余额是:"<<balance1<<"元。"<<endl;
	}
}
void drawmoney()//取款
{  
	double money;  
	if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进
	{
		cout << "请输入取款金额:";  
		cin >> money;  
		if(money<=balance1)
		{
			balance1-=money; //取款成功
			cout<<"取款后,您的余额是:"<<balance1<<"元。"<<endl;
		}
		else
		{
			cout<<"您的余额不足,取款失败。"<<endl;
		}
	}
}	
void transferAccounts()//转账
{
	double money;  
	int iAccount2;
	if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进
	{
		cout << "请输入转帐金额:";
		cin >> money;  
		cout << "请输入对方帐户:";
		cin >> iAccount2; //应该判断对方帐户的有效性再转账,暂时不做,待以后改进  
		if(money<=balance1)
		{
			balance1-=money; 
			cout<<"转账后,您的余额是:"<<balance1<<"元。"<<endl;
		}
		else
		{
			cout<<"您的余额不足,转账失败。"<<endl;
		}
	}
}
void showbalance()//查询余额
{
	if(currentAccount==account1)   
		cout<<"您的当前余额是:"<<balance1<<"元"<<endl;
}	
void updatePassword()//修改密码
{
	int p1,p2;
	if(currentAccount==account1)   
	{
		cout << "请输入新密码:";
		cin >> p1;  
		cout << "请确认新密码:";
		cin >> p2;  
		if(p1==p2)//两次输入相符
		{
			pwd1=p1;   
			cout<<"密码修改成功!"<<endl;
		}
		else
		{
			cout<<"两次输入不一致,密码修改失败。"<<endl;
		}
	}
}
void work()//处理业务
{
	char cChoice;
	bool bExit = false;
	do  
	{  
		cout<<endl<<"*  您可以办理下面的业务:"<<endl;  
		cout<<"*  1.查询"<<endl;  
		cout<<"*  2.取款"<<endl;  
		cout<<"*  3.存款"<<endl;
		cout<<"*  4.转账"<<endl;
		cout<<"*  5.修改密码"<<endl;
		cout<<"*  0.退出"<<endl;  
		cout<<"*  请输入(0-4):";  
		cin>>cChoice;
		switch(cChoice)
		{
		case '1':
			showbalance();
			break;  
		case '2':
			drawmoney();
			break;  
		case '3':
			deposit();
			break;  
		case '4':
			transferAccounts();
			break;  
		case '5':
			updatePassword();
			break;  
		case '0':
			cout<<"欢迎您下次来存款. "<<endl;
			bExit=true;
		}		
	}while(!bExit);  
	return;
}		


银行系统(第十三周上机任务)_第1张图片

 

 

心得体会:快接近真的银行了。。加油!!!!!!!!!

你可能感兴趣的:(银行系统(第十三周上机任务))