用c++写一个民航订票系统,使用文件储存数据,不使用链表、容器,包含用户和管理两个类,实现订票、改签、退票、查询航班、增加航班、删除航班、修改航班、显示航班等功能。
时间: 2023-06-17 15:02:05 浏览: 131
用c++写的航空订票系统
好的,我可以帮你提供一个大致的思路,希望能对你有所帮助。
首先,你需要定义一个 Flight 类,表示航班信息,包括航班号、起点、终点、出发时间、到达时间、剩余座位数等信息。在 Flight 类中,需要实现增加、删除、修改航班等功能。
其次,你需要定义一个 User 类,表示用户信息,包括用户名、密码、已订航班等信息。在 User 类中,需要实现订票、改签、退票等功能。
然后,你需要定义一个 Manager 类,表示管理员信息,包括用户名、密码等信息。在 Manager 类中,需要实现增加、删除、修改航班等功能。
最后,你需要定义一个主函数,实现用户登录、管理员登录、查询航班、订票、改签、退票等功能。主函数中,需要使用文件来储存数据,包括航班信息、用户信息、管理员信息。
下面是一个大致的代码框架供你参考:
Flight 类:
```c++
class Flight {
public:
string flightNum; // 航班号
string from; // 起点
string to; // 终点
string departure; // 出发时间
string arrival; // 到达时间
int seatsLeft; // 剩余座位数
// 构造函数
Flight(string flightNum, string from, string to, string departure, string arrival, int seatsLeft);
// 增加航班
static void addFlight(Flight flight);
// 删除航班
static void deleteFlight(string flightNum);
// 修改航班
static void modifyFlight(string flightNum, Flight flight);
// 显示航班信息
static void displayFlights();
};
```
User 类:
```c++
class User {
public:
string username; // 用户名
string password; // 密码
vector<string> flights; // 已订航班
// 构造函数
User(string username, string password);
// 订票
void bookFlight(string flightNum);
// 改签
void changeFlight(string oldFlightNum, string newFlightNum);
// 退票
void cancelFlight(string flightNum);
};
```
Manager 类:
```c++
class Manager {
public:
string username; // 用户名
string password; // 密码
// 构造函数
Manager(string username, string password);
// 增加航班
void addFlight(Flight flight);
// 删除航班
void deleteFlight(string flightNum);
// 修改航班
void modifyFlight(string flightNum, Flight flight);
};
```
主函数:
```c++
int main() {
// 读取航班信息、用户信息、管理员信息等数据文件
// 用户登录
User user = loginAsUser(username, password);
// 管理员登录
Manager manager = loginAsManager(username, password);
// 查询航班信息
Flight::displayFlights();
// 订票
user.bookFlight(flightNum);
// 改签
user.changeFlight(oldFlightNum, newFlightNum);
// 退票
user.cancelFlight(flightNum);
// 增加航班
manager.addFlight(flight);
// 删除航班
manager.deleteFlight(flightNum);
// 修改航班
manager.modifyFlight(flightNum, flight);
// 保存航班信息、用户信息、管理员信息等数据文件
return 0;
}
```
这只是一个大致的框架,具体实现还需要你根据自己的需求进行调整和完善。
阅读全文