简单C++程序的编写5:模拟ATM机

运用C++语言,模拟24小时运营的ATM机,实现其五大功能:

1、余额查询

2、取款

3、存款

4、转账

5、密码修改

代码:

#include<iostream.h>
#include<conio.h> 
char *password()               //定义输入密码的函数
{
	int j;
	char *n=new char[4];       //定义指向一个具有4个char型元素数组的首地址
	for(j=0;j<4;j++)           //输入密码,并以*显示
	{
		n[j]=getch();
		cout<<"*";
	}
	cout<<"\n";
	return n;
} 
int login(char *m)            //定义账户的登录函数
{
	int i,j;
	char *n;
	cout<<"    登录    "<<endl;
	cout<<"************"<<endl;
	for(i=1;i<4;i++)           //记录输错密码的次数
	{
		cout<<"请输入密码:"<<endl;
		n=password();
		for(j=0;j<4;j++)      //判断密码是否错误
		{
			if((*m++)!=(*n++)) 
			{
				cout<<"密码错误!"<<endl;
				break;
			}
		}
		if(j==4)
		{
			cout<<"登录成功!"<<endl;
			break;
		}
	}
	return i;
}            //调用getch函数的头文件
double yue(double a)             //定义查询余额的函数
{
cout<<"当前余额:"<<a<<"元"<<endl;
return a;
}
double qukuan(double a)        //定于取款的函数
{
	int b;
	while(1)                    //判断输入的格式是否正确
	{
		cout<<"请输入取款金额:"<<endl;
    	cout<<"(注意:金额需为100的整数倍,且在100~10000)"<<endl;
    	cin>>b;
		if((b%100)!=0)
			cout<<"输入错误,请重新输入"<<endl;
		else break;	
	}
	cout<<"取款成功!\n"<<"请取走您的钞票"<<endl;
	a-=b;
	return a;
}
double cunkuan(double a)        //定义存款的函数
{
	int b;
	cout<<"请把钞票放入指定位置!"<<endl;
	while(1)              
	{
    	cout<<"请输入存款的金额:"<<endl;
	    cin>>b;
	    if((b%100)!=0)
			cout<<"输入错误,请重新输入"<<endl;
		else break;	
	}
	cout<<"存款成功!\n"<<"请及时查看!"<<endl;
	a+=b;
	return a;
}
double zhuanzhang(double a)     //定义转账的函数
{
	char user[19];
	double b;
	cout<<"请输入对方的账号:"<<endl;
    cin>>user;
	while(1)                    
	{
    	cout<<"请输入转账金额:"<<endl;
	    cin>>b;
    	if(b<0)                 
			cout<<"输入错误,请重新输入"<<endl;
		else break;		
	}
	cout<<"转账成功!\n"<<"请及时查看!"<<endl;
	a-=b;
	return a;
}
char *mima(char m[4])	        //定义修改密码的函数	
{	
	int i;
	char *s1=new char[4],*s2=new char[4];
	while(1)
	{
		cout<<"请输入旧密码:"<<endl;
		s1=password();
		for(i=0;i<4;i++)
		{
			if(s1[i]!=m[i])
			{
				cout<<"密码错误!"<<endl;
				break;
			}
		}
		if(i==4)
		{
			cout<<"密码正确!"<<endl;
			break;
		}
	}
	cout<<"请输入新密码:"<<endl;
	s2=password();
	cout<<"密码修改成功!"<<endl;
	return s2;
}
void main()
{
	int a,i;
	double balance;
	char name[10],account[19],*word[4];
	cout<<"**欢迎使用24小时运营ATM机**"<<endl;
	cout<<"为了方便您的操作,请提供以下信息:\n"<<endl;
	cout<<"请输入您的姓名:";
	cin>>name;
	cout<<"请输入您的账号:";
	cin>>account;
	cout<<"请输入您的密码:";
    *word=password();
	cout<<"请输入您的余额:";
	cin>>balance;
	cout<<"\n";
	i=login(*word);
	if(i==4)
		cout<<"密码错误三次,你的账号已被冻结!"<<endl;
	else 
	{
		cout<<"****ATM为您服务****"<<endl;
    	cout<<"请选择操作对应的标号:\n"<<endl;
		while(1)
		{
	    cout<<"1-查询余额"<<endl;
	    cout<<"2-取款    "<<endl;
	    cout<<"3-存款    "<<endl;
	    cout<<"4-转账业务"<<endl;
	    cout<<"5-密码修改"<<endl;
	    cout<<"0-退卡\n"<<endl;
	    cin>>a;
		if(a==0)
		{
			cout<<"退卡成功!"<<endl;
			break;
		}
		else switch(a)               //判断使用什么功能
		{
	    case 1: yue(balance);break;
		case 2: balance=qukuan(balance);break;
		case 3: balance=cunkuan(balance);break;
		case 4: balance=zhuanzhang(balance);break;
		case 5: *word=mima(*word);break;
		}
		cout<<"\n是否继续?"<<endl;
		}
	}
}

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值