帮我写代码c++实现上面的问题
时间: 2023-08-28 12:20:40 浏览: 76
c++代码的实现
好的,以下是C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class CreditCard {
private:
int cardNo; // 卡号
string name; // 姓名
int limit; // 额度
float billAmount; // 账单金额
int creditPoints; // 信用卡积分
public:
CreditCard(int cNo, string n, int l, float bA, int cP) {
cardNo = cNo;
name = n;
limit = l;
billAmount = bA;
creditPoints = cP;
}
void spend(float m) {
if (limit < m) {
// 超额度,不做操作
return;
}
// 消费金额累加到账单金额中
billAmount += m;
// 额度减去消费金额
limit -= m;
// 消费金额累加到信用卡积分中
creditPoints += m;
}
void refund(float m) {
// 账单金额减去退款金额
billAmount -= m;
// 信用卡积分减去退款金额
creditPoints -= m;
}
int getCardNo() { return cardNo; }
string getName() { return name; }
int getLimit() { return limit; }
float getBillAmount() { return billAmount; }
int getCreditPoints() { return creditPoints; }
};
class TravelCard {
private:
int cardNo; // 会员卡号
int travelPoints; // 旅程积分
public:
TravelCard(int cNo, int tP) {
cardNo = cNo;
travelPoints = tP;
}
void order(float amount) {
// 先判断是否超过信用卡额度
if (amount > cc.getLimit()) {
cout << "订单金额超出信用卡额度,下单失败!" << endl;
return;
}
// 从信用卡额度中扣除订单金额
cc.spend(amount);
// 订单金额累加到旅程积分中
travelPoints += amount;
// 订单金额累加到信用卡积分中
cc.spend(amount);
}
int getCardNo() { return cardNo; }
int getTravelPoints() { return travelPoints; }
};
int main() {
// 初始化信用卡
CreditCard cc(123456, "张三", 10000, 0, 0);
// 初始化会员卡
TravelCard tc(654321, 0);
// 模拟下订单
tc.order(5000);
// 打印结果
cout << "会员卡号:" << tc.getCardNo() << endl;
cout << "旅程积分:" << tc.getTravelPoints() << endl;
cout << "信用卡额度:" << cc.getLimit() << endl;
cout << "账单金额:" << cc.getBillAmount() << endl;
cout << "信用卡积分:" << cc.getCreditPoints() << endl;
// 模拟退款
cc.refund(1000);
// 打印结果
cout << "会员卡号:" << tc.getCardNo() << endl;
cout << "旅程积分:" << tc.getTravelPoints() << endl;
cout << "信用卡额度:" << cc.getLimit() << endl;
cout << "账单金额:" << cc.getBillAmount() << endl;
cout << "信用卡积分:" << cc.getCreditPoints() << endl;
return 0;
}
```
这里只是一个简单的实现,您可以根据实际需求进行修改和完善。
阅读全文