7.4 对例 7.5 进行修改,将其中的友元函数 total 改为 max,即显示三个银行中存款最 多的银行及其存款数。

#define _CRT_SECURE_NO_WARNINGS
/*
7.4 对例 7.5 进行修改,将其中的友元函数 total 改为 max,即显示三个银行中存款最
多的银行及其存款数。
*/
#include<iostream>
#include <math.h>
using namespace std;
class BBank; //这里预先说明,类 BBank 在后面说明
class GBank; //这里预先说明,类 GBank 在后面说明
class CBank //说明中国银行类 CBank
{
int balance;
public:
CBank() //构造函数
{
balance = 0;
};
CBank(int b) //重载构造函数
{
balance = b;
}
void getbalance()
{
cout << "输入中国银行存款数:";
cin >> balance;
}
void disp()
{
cout << "中国银行存款数:" << balance << endl;
}
friend void Max(CBank, BBank, GBank);
};
class BBank //说明工商银行类 BBank
{
int balance;
public:
BBank() //构造函数
{
balance = 0;
};
BBank(int b) //重载构造函数
{
balance = b;
}
void getbalance()
{
cout << "输入工商银行存款数:";
cin >> balance;
}
void disp()
{
cout << "工商银行存款数:" << balance << endl;
}
friend void Max(CBank, BBank, GBank);


};
class GBank //说明农业银行类 GBank
{
int balance;
public:
GBank() //构造函数
{
balance = 0;
};
GBank(int b) //重载构造函数
{
balance = b;
}
void getbalance()
{
cout << "输入农业银行存款数:";
cin >> balance;
}
void disp()
{
cout << "农业银行存款数:" << balance << endl;
}
friend void Max(CBank, BBank, GBank);


};
void Max(CBank A, BBank B, GBank C)
{
cout << "\n\n\n存款最多的是:" ;
int l = 0;
if (A.balance > B.balance && A.balance > C.balance)
{
l = 1;
}
else if(A.balance < B.balance && B.balance > C.balance)
{
l = 2;
}
else if (C.balance > B.balance && A.balance < C.balance)
{
l = 3;
}
else if (A.balance == B.balance && A.balance > C.balance)
{
l = 4;
}
else if (A.balance > B.balance && A.balance ==C.balance)
{
l = 5;
}
else if (A.balance <B.balance && B.balance == C.balance)
{
l = 6;
}
else if (A.balance == B.balance && A.balance == C.balance)
{
l = 7;
}
switch (l)
{
case 1:cout << "中国银行" <<A.balance<< endl; break;
case 2:cout << "工商银行" << B.balance << endl; break;
case 3:cout << "农业银行" << C.balance << endl; break;
case 4:cout << "中国和工商银行一样最多" << A.balance << endl; break;
case 5:cout << "中国和农业银行一样最多" << A.balance << endl; break;
case 6:cout << "农业和工商银行一样最多" << B.balance << endl; break;
case 7:cout << "中国,工商和农业银行一样最多" << A.balance << endl; break;
default:cout << "出错了,不好意思" << endl;




}
}
void main()
{
CBank X(100);
BBank Y;
GBank Z;
X.disp();
Y.disp();
Z.disp();
//X.getbalance();
Y.getbalance();
Z.getbalance();
Max(X, Y, Z);
system("pause");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值