C++ 手机取款(类与对象数组)

题目描述
采用面向对象思想实现手机取款的过程
假设银行账户有卡号、绑定手机号、动态密码、余额等属性,包含获取各种属性、校验动态密码、取款操作。属性全是整数数据。
使用对象数组来保存n个银行账户。

用户通过手机取款的步骤如下:(一般在主函数实现) 1、用户输入手机号,在n个银行账户中找到相应的银行账户。
如果查找成功则往下执行,否则输出信息“手机号不存在”,不再往下执行; 2、用户输入动态密码,然后校验动态密码的是否正确
如果密码正确则往下执行,否则输出信息“密码错误”,不再往下执行; 3、用户输入取款金额,然后执行取款操作
如果余额不足就拒绝取款并给出信息“卡号XXX–余额不足”;如果取款成功给出信息“卡号XXX–余额YYY”,其中XXX表示卡号,YYY表示余额

上述描述只是方便说明,可以一次输入所有数据再执行各个操作。
输入
第一行输入n,表示有n个账户
下一行输入第一个账户的信息:卡号、绑定手机号、动态密码、余额 连续输入n行 接着输入k,表示要执行k次取款操作
下一行输入手机号、动态密码、取款金额 连续输入k行

输出
输出k行,每行输出操作结果
样例输入
5
1001 138111 111 1000
1002 135222 222 200
1003 136333 333 300
1004 133444 444 400
1005 132555 555 500
4
136333 333 600
133444 444 300
133555 555 200
138111 222 900
样例输出
卡号1003–余额不足
卡号1004–余额100
手机号不存在
密码错误

#include<iostream>
#include<string.h>
using namespace std;

class Bank{
	private:
		long int B_card,B_phone,B_password;//实际中较长的这种数据应long int 
		int B_money;
	public:
		void set(long int card,long int phone,long int password,int money){
			B_card=card;
			B_phone=phone;
			B_password=password;
			B_money=money;
		}
		long int Get_phone(){
			return B_phone;
		}
		long int Get_card(){
			return B_card;
		}
		long int Get_password(){
			return B_password;
		}
		int Get_money(){
			return B_money;
		}
};

int main(){
	int n,k,money,f,i;
	long int card,phone,password;
	Bank *a;
	cin>>n;
	a=new Bank[n];//创建一个对象动态数组
	for(i=0;i<n;i++){
		cin>>card>>phone>>password>>money;
		a[i].set(card,phone,password,money);
	}
	cin>>k;
	while(k--){
		cin>>phone>>password>>money;
		f=0;
		for(i=0;i<n;i++){	
			if(phone==a[i].Get_phone()){
				f=1;
			if(password==a[i].Get_password()){
				cout<<"卡号"<<a[i].Get_card()<<"--余额";
				if(money<=a[i].Get_money()) 
					cout<<a[i].Get_money()-money<<endl;
				else
					cout<<"不足"<<endl;
			}
			if(password!=a[i].Get_password())
				cout<<"密码错误"<<endl; 
			}
		}
		if(f==0)
			cout<<"手机号不存在"<<endl;
	}
	delete []a;
}

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值