写一个C++代码首先,你可以定义一个公交卡(boardingcard)的结构体。这个结构体应该包括公交卡的种类(普通卡、学生卡、老年卡)、余额、折扣率等属性。 然后,你可以创建公交卡类,在这个类中实...
时间: 2023-11-22 17:52:06 浏览: 70
以下是一个简单的C++代码实现公交卡类:
```c++
#include <iostream>
using namespace std;
// 定义公交卡结构体
struct BoardingCard {
string type; // 卡种
double balance; // 余额
double discount_rate; // 折扣率
};
class BusCard {
public:
// 构造函数
BusCard(string type, double balance, double discount_rate) {
card.type = type;
card.balance = balance;
card.discount_rate = discount_rate;
}
// 获取余额
double getBalance() {
return card.balance;
}
// 充值
void topUp(double amount) {
card.balance += amount;
cout << "充值成功,当前余额为:" << card.balance << endl;
}
// 扣费
bool consume(double amount) {
if (card.balance >= amount * card.discount_rate) {
card.balance -= amount * card.discount_rate;
cout << "扣费成功,当前余额为:" << card.balance << endl;
return true;
} else {
cout << "余额不足,请充值!" << endl;
return false;
}
}
private:
BoardingCard card; // 公交卡结构体
};
int main() {
BusCard card("普通卡", 50, 1); // 创建一个普通卡,余额为50元,折扣率为1
card.topUp(100); // 充值100元
card.consume(30); // 扣费30元
card.consume(80); // 扣费80元
return 0;
}
```
上述代码中,我们定义了一个公交卡结构体`BoardingCard`,并在公交卡类`BusCard`中实现了充值、扣费、获取余额等方法。在`main`函数中,我们创建了一个普通卡,并进行了充值和扣费操作。程序输出结果如下:
```
充值成功,当前余额为:150
扣费成功,当前余额为:120
余额不足,请充值!
```
阅读全文