.编写一个求出租车收费的程序,输入起始站、终止站和路程。 计费标准为:3 公里以内10元,3 公里以后每1公里加 2 元,超过 15 公里,每公里加 3元。 要求:设计一个站类Station(用于设置起始站、终止站)和路程类Mile(用于设置路程),由这两个类派生出收费类Price(用于计费)。 已知Station类和Mile类以及测试main函数如下,请编写Price类。 (可以使用string类型代替给出代码中的字符数组。) #define Max 20 class Station {public:
时间: 2024-03-04 22:52:03 浏览: 67
出租车计费程序
以下是根据题目要求编写的Price类代码:
#include <iostream>
#include <string>
using namespace std;
class Station {
public:
Station(string s, string e) : start(s), end(e) {}
string start;
string end;
};
class Mile {
public:
Mile(double d) : distance(d) {}
double distance;
};
class Price : public Station, public Mile {
public:
Price(string s, string e, double d) : Station(s, e), Mile(d) {}
double get_price() {
double price = 0;
if (distance <= 3) {
price = 10;
} else if (distance <= 15) {
price = 10 + (distance - 3) * 2;
} else {
price = 34 + (distance - 15) * 3;
}
return price;
}
};
int main() {
string start, end;
double distance;
cout << "请输入起始站:" << endl;
cin >> start;
cout << "请输入终止站:" << endl;
cin >> end;
cout << "请输入路程(单位:公里):" << endl;
cin >> distance;
Price p(start, end, distance);
cout << "收费:" << p.get_price() << "元" << endl;
return 0;
}
Price类继承了Station类和Mile类,其中构造函数需要传入起始站、终止站和路程。get_price()方法根据题目要求计算收费,最后返回结果。在main函数中,用户输入起始站、终止站和路程,并创建Price对象,调用get_price()方法计算收费并输出。
阅读全文