当输入为“老年卡、“学生卡”和“普通卡”时显示不 同的卡类及购票金额(“老年卡”购票金额=原价50%、学生卡购票金额=原价"60%、“普通卡” 购票金额=原价“95%)。 提示: 第1步:建立公交卡类(boardingCard)的结构。。 第2步:创建并实现公交卡类构造面数、公交卡充值数、公交卡余额查询面数、公交卡 刷卡消费函数、创建纯虚函数用于完成刷卡种类显示和设置折扣率的操作。 第3步:由公交卡类派生普通卡类、学生卡类、老年卡类,并对虚函数进行重新定义。
时间: 2023-12-31 14:28:15 浏览: 20
好的,这是一个关于公交卡类的编程问题。你需要建立一个boardingCard类的结构来实现公交卡的功能。这个类需要有构造函数来初始化充值数和余额,还需要有查询余额和消费的函数。同时,还需要创建一个纯虚函数用于完成刷卡种类显示和设置折扣率的操作。在这个问题中,需要派生普通卡类、学生卡类、老年卡类,并对虚函数进行重新定义,以实现不同刷卡种类的显示和不同折扣率的设置。具体地,老年卡的购票金额为原价的50%,学生卡的购票金额为原价的60%,普通卡的购票金额为原价的95%。
相关问题
编写一个程序,实现公交车卡类售票管理。当输入为“老年卡、“学生卡”和“普通卡”时显示不 同的卡类及购票金额(“老年卡”购票金额=原价*50%、“学生卡”购票金额=原价“60%、“普通卡” 购票金额=原价“95%)。
好的,这是一个简单的 Python 实现:
```python
card_type = input("请输入公交车卡类型(老年卡/学生卡/普通卡):")
ticket_price = float(input("请输入车票原价:"))
if card_type == "老年卡":
total_price = ticket_price * 0.5
print(f"您购买的是老年卡,购票金额为 {total_price} 元。")
elif card_type == "学生卡":
total_price = ticket_price * 0.6
print(f"您购买的是学生卡,购票金额为 {total_price} 元。")
elif card_type == "普通卡":
total_price = ticket_price * 0.95
print(f"您购买的是普通卡,购票金额为 {total_price} 元。")
else:
print("卡类型输入错误,请重新输入!")
```
这个程序首先让用户输入公交车卡类型和车票原价,然后根据不同的卡类型计算出购票金额并输出。如果用户输入的卡类型不是老年卡、学生卡或普通卡,则提示卡类型输入错误。
写一个C++代码 利用抽象类编写一个程序实现公交车卡售票管理。当输入为“老年卡”、“学生卡”和“普通卡”时显示不同的卡类,及购票金额(“老年卡”购票金额=原价50%、“学生卡”购票金额=原价60%、
以下是一个简单的C++代码,利用抽象类实现公交车卡售票管理:
```c++
#include <iostream>
using namespace std;
// 抽象类:卡类
class Card {
public:
// 纯虚函数:获取购票金额
virtual float getTicketPrice(float originalPrice) = 0;
};
// 老年卡类
class ElderCard : public Card {
public:
// 实现纯虚函数:获取购票金额
float getTicketPrice(float originalPrice) {
return originalPrice * 0.5;
}
};
// 学生卡类
class StudentCard : public Card {
public:
// 实现纯虚函数:获取购票金额
float getTicketPrice(float originalPrice) {
return originalPrice * 0.6;
}
};
// 普通卡类
class NormalCard : public Card {
public:
// 实现纯虚函数:获取购票金额
float getTicketPrice(float originalPrice) {
return originalPrice;
}
};
int main() {
// 根据输入创建不同的卡类
string cardType;
cout << "请输入卡的类型(老年卡/学生卡/普通卡):" << endl;
cin >> cardType;
Card* card;
if (cardType == "老年卡") {
card = new ElderCard();
} else if (cardType == "学生卡") {
card = new StudentCard();
} else {
card = new NormalCard();
}
// 获取购票金额并输出
float originalPrice = 20; // 假设原价为20元
float ticketPrice = card->getTicketPrice(originalPrice);
cout << "购票金额:" << ticketPrice << "元" << endl;
// 释放动态分配的内存
delete card;
return 0;
}
```
该代码实现了一个简单的公交车卡售票管理程序,用户输入卡的类型后,根据输入创建不同的卡类,并获取购票金额并输出。其中,抽象类`Card`定义了纯虚函数`getTicketPrice`,该函数用于获取购票金额,不同的卡类继承并实现该函数以实现不同的购票金额计算方式。用户输入的卡类型会决定创建哪个卡类对象,并调用该对象的`getTicketPrice`函数获取购票金额。最后,动态分配的卡类对象需要手动释放。