用c语言写火车订票系统项目
时间: 2023-09-28 07:05:57 浏览: 50
好的,火车订票系统是个比较复杂的项目,需要考虑到多个方面。以下是一个基本的 C 语言代码框架,可以作为你编写火车订票系统项目的起点:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TRAINS 100
#define MAX_SEATS 100
struct train {
char name[50];
int num_seats;
int seats[MAX_SEATS];
};
struct train trains[MAX_TRAINS];
int num_trains = 0;
void add_train(char *name, int num_seats) {
struct train *t = &trains[num_trains++];
strncpy(t->name, name, sizeof(t->name));
t->num_seats = num_seats;
for (int i = 0; i < num_seats; i++) {
t->seats[i] = 0;
}
}
void list_trains() {
printf("Available trains:\n");
for (int i = 0; i < num_trains; i++) {
printf("%d. %s (%d seats)\n", i+1, trains[i].name, trains[i].num_seats);
}
}
void book_seat(int train_num, int seat_num) {
struct train *t = &trains[train_num-1];
if (seat_num < 1 || seat_num > t->num_seats) {
printf("Invalid seat number\n");
return;
}
if (t->seats[seat_num-1] != 0) {
printf("Seat already booked\n");
return;
}
t->seats[seat_num-1] = 1;
printf("Seat %d booked on train %d (%s)\n", seat_num, train_num, t->name);
}
int main() {
add_train("Train A", 5);
add_train("Train B", 10);
add_train("Train C", 20);
while (1) {
printf("\n");
list_trains();
printf("Enter train number (0 to exit): ");
int train_num;
scanf("%d", &train_num);
if (train_num == 0) {
break;
}
if (train_num < 1 || train_num > num_trains) {
printf("Invalid train number\n");
continue;
}
printf("Enter seat number: ");
int seat_num;
scanf("%d", &seat_num);
book_seat(train_num, seat_num);
}
printf("Goodbye!\n");
return 0;
}
```
这个代码框架包括了以下功能:
- 定义了一个 `struct train` 结构体来表示火车信息,包括火车名称、座位数和座位状态。
- 定义了一个 `add_train` 函数来添加新的火车信息。
- 定义了一个 `list_trains` 函数来列出所有可用的火车。
- 定义了一个 `book_seat` 函数来预定火车座位。
- 在 `main` 函数中,首先添加了一些测试用的火车信息,然后进入一个循环,让用户选择火车和座位号来预定座位。
当然,这只是一个基本的框架,你需要根据你的具体需求来进行修改和扩展。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)