用C++代码写一个火车票管理系统
时间: 2023-11-09 14:04:14 浏览: 28
以下是一个简单的火车票管理系统的 C++ 代码示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 火车票类
class Ticket {
public:
Ticket(string from, string to, string date, int price, int num) {
this->from = from;
this->to = to;
this->date = date;
this->price = price;
this->num = num;
}
string getFrom() const { return from; }
string getTo() const { return to; }
string getDate() const { return date; }
int getPrice() const { return price; }
int getNum() const { return num; }
private:
string from; // 出发地
string to; // 目的地
string date; // 日期
int price; // 价格
int num; // 剩余票数
};
// 火车票管理系统类
class TicketSystem {
public:
TicketSystem() {}
// 添加火车票
void addTicket(string from, string to, string date, int price, int num) {
tickets.push_back(Ticket(from, to, date, price, num));
}
// 查询火车票
void searchTicket(string from, string to, string date) {
for (auto ticket : tickets) {
if (ticket.getFrom() == from && ticket.getTo() == to && ticket.getDate() == date) {
cout << "From: " << ticket.getFrom() << endl;
cout << "To: " << ticket.getTo() << endl;
cout << "Date: " << ticket.getDate() << endl;
cout << "Price: " << ticket.getPrice() << endl;
cout << "Num: " << ticket.getNum() << endl;
return;
}
}
cout << "No tickets found." << endl;
}
// 购买火车票
void buyTicket(string from, string to, string date) {
for (auto& ticket : tickets) {
if (ticket.getFrom() == from && ticket.getTo() == to && ticket.getDate() == date) {
if (ticket.getNum() > 0) {
ticket.getNum()--;
cout << "Ticket purchased successfully." << endl;
return;
}
else {
cout << "No tickets available." << endl;
return;
}
}
}
cout << "No tickets found." << endl;
}
private:
vector<Ticket> tickets; // 所有火车票
};
int main() {
TicketSystem ts;
ts.addTicket("Shanghai", "Beijing", "2022-01-01", 100, 10);
ts.addTicket("Shanghai", "Guangzhou", "2022-01-01", 200, 5);
ts.searchTicket("Shanghai", "Beijing", "2022-01-01");
ts.buyTicket("Shanghai", "Beijing", "2022-01-01");
ts.searchTicket("Shanghai", "Beijing", "2022-01-01");
ts.buyTicket("Shanghai", "Beijing", "2022-01-01");
ts.searchTicket("Shanghai", "Guangzhou", "2022-01-01");
ts.buyTicket("Shanghai", "Guangzhou", "2022-01-01");
ts.searchTicket("Shanghai", "Guangzhou", "2022-01-01");
ts.buyTicket("Shanghai", "Guangzhou", "2022-01-01");
ts.searchTicket("Shanghai", "Guangzhou", "2022-01-01");
ts.buyTicket("Shanghai", "Guangzhou", "2022-01-01");
return 0;
}
```
这个代码示例包括了火车票类 `Ticket` 和火车票管理系统类 `TicketSystem`。其中,`Ticket` 类包括了出发地、目的地、日期、价格和剩余票数等成员变量,`TicketSystem` 类包括了添加火车票、查询火车票和购买火车票等方法。在 `main` 函数中,我们可以看到如何使用这个火车票管理系统:首先添加两个火车票,然后查询和购买这些火车票。