用C语言写火车订票系统
时间: 2023-11-18 20:05:24 浏览: 131
好的,火车订票系统是一个典型的信息管理系统,可以用C语言来实现。以下是一个简单的火车订票系统的实现思路:
1. 创建火车票信息结构体
在C语言中,我们可以创建一个结构体来存储火车票信息,包括车次、出发站、到达站、出发时间、到达时间等。
```
typedef struct {
char train_no[10]; // 车次
char start_station[20]; // 出发站
char end_station[20]; // 到达站
char start_time[10]; // 出发时间
char end_time[10]; // 到达时间
int price; // 票价
int seat_num; // 座位数
} TicketInfo;
```
2. 编写火车票信息输入函数
在火车订票系统中,我们需要输入火车票的信息,包括车次、出发站、到达站、出发时间、到达时间、票价、座位数等。可以通过一个函数来实现信息输入,如下所示:
```
TicketInfo input_ticket_info() {
TicketInfo ticket;
printf("请输入车次:");
scanf("%s", ticket.train_no);
printf("请输入出发站:");
scanf("%s", ticket.start_station);
printf("请输入到达站:");
scanf("%s", ticket.end_station);
printf("请输入出发时间:");
scanf("%s", ticket.start_time);
printf("请输入到达时间:");
scanf("%s", ticket.end_time);
printf("请输入票价:");
scanf("%d", &ticket.price);
printf("请输入座位数:");
scanf("%d", &ticket.seat_num);
return ticket;
}
```
3. 编写火车票信息输出函数
火车订票系统中,我们也需要输出火车票的信息,可以通过一个函数来实现信息输出,如下所示:
```
void print_ticket_info(TicketInfo ticket) {
printf("车次:%s\n", ticket.train_no);
printf("出发站:%s\n", ticket.start_station);
printf("到达站:%s\n", ticket.end_station);
printf("出发时间:%s\n", ticket.start_time);
printf("到达时间:%s\n", ticket.end_time);
printf("票价:%d\n", ticket.price);
printf("座位数:%d\n", ticket.seat_num);
}
```
4. 编写火车票信息管理函数
在火车订票系统中,我们需要实现火车票信息的增加、删除、修改和查询等操作。可以通过一个函数来实现火车票信息的管理,如下所示:
```
#define MAX_TICKETS 100 // 火车票信息最大数量
TicketInfo tickets[MAX_TICKETS]; // 火车票信息数组
int ticket_count = 0; // 火车票信息数量
// 添加火车票信息
void add_ticket_info() {
if (ticket_count == MAX_TICKETS) {
printf("火车票信息已满,无法添加!\n");
return;
}
TicketInfo ticket = input_ticket_info();
tickets[ticket_count++] = ticket;
printf("火车票信息添加成功!\n");
}
// 删除火车票信息
void delete_ticket_info() {
char train_no[10];
printf("请输入要删除的车次:");
scanf("%s", train_no);
for (int i = 0; i < ticket_count; i++) {
if (strcmp(train_no, tickets[i].train_no) == 0) {
for (int j = i + 1; j < ticket_count; j++) {
tickets[j - 1] = tickets[j];
}
ticket_count--;
printf("火车票信息删除成功!\n");
return;
}
}
printf("没有找到车次为%s的火车票信息!\n", train_no);
}
// 修改火车票信息
void modify_ticket_info() {
char train_no[10];
printf("请输入要修改的车次:");
scanf("%s", train_no);
for (int i = 0; i < ticket_count; i++) {
if (strcmp(train_no, tickets[i].train_no) == 0) {
TicketInfo ticket = input_ticket_info();
tickets[i] = ticket;
printf("火车票信息修改成功!\n");
return;
}
}
printf("没有找到车次为%s的火车票信息!\n", train_no);
}
// 查询火车票信息
void query_ticket_info() {
char train_no[10];
printf("请输入要查询的车次:");
scanf("%s", train_no);
for (int i = 0; i < ticket_count; i++) {
if (strcmp(train_no, tickets[i].train_no) == 0) {
print_ticket_info(tickets[i]);
return;
}
}
printf("没有找到车次为%s的火车票信息!\n", train_no);
}
```
5. 编写主函数
最后,我们可以在主函数中实现火车订票系统的菜单功能,如下所示:
```
int main() {
int choice;
do {
printf("==========火车订票系统==========\n");
printf("1. 添加火车票信息\n");
printf("2. 删除火车票信息\n");
printf("3. 修改火车票信息\n");
printf("4. 查询火车票信息\n");
printf("5. 退出\n");
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_ticket_info();
break;
case 2:
delete_ticket_info();
break;
case 3:
modify_ticket_info();
break;
case 4:
query_ticket_info();
break;
case 5:
printf("谢谢使用,再见!\n");
break;
default:
printf("输入选项有误,请重新输入!\n");
break;
}
} while (choice != 5);
return 0;
}
```
以上就是一个简单的火车订票系统的实现思路,你可以根据实际情况进行修改和完善。
相关推荐
![](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)