用c语言数据结构写一个火车订票系统并演示怎么运行
时间: 2023-08-11 11:05:48 浏览: 130
好的,下面是一个简单的火车订票系统的C语言实现,使用了链表数据结构:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 定义车票结构体 */
typedef struct ticket {
char name[20];
int id;
struct ticket *next;
} Ticket;
/* 初始化车票链表 */
void init_ticket_list(Ticket **head) {
*head = NULL;
}
/* 添加车票 */
void add_ticket(Ticket **head, char name[], int id) {
Ticket *new_ticket = (Ticket *)malloc(sizeof(Ticket));
strcpy(new_ticket->name, name);
new_ticket->id = id;
new_ticket->next = NULL;
if (*head == NULL) {
*head = new_ticket;
} else {
Ticket *p = *head;
while (p->next != NULL) {
p = p->next;
}
p->next = new_ticket;
}
}
/* 显示车票 */
void show_ticket_list(Ticket *head) {
printf("ID\tName\n");
while (head != NULL) {
printf("%d\t%s\n", head->id, head->name);
head = head->next;
}
}
/* 释放车票链表 */
void free_ticket_list(Ticket **head) {
Ticket *p = *head;
while (p != NULL) {
Ticket *temp = p;
p = p->next;
free(temp);
}
*head = NULL;
}
int main() {
Ticket *head;
init_ticket_list(&head);
/* 添加车票 */
add_ticket(&head, "Alice", 1);
add_ticket(&head, "Bob", 2);
add_ticket(&head, "Charlie", 3);
add_ticket(&head, "David", 4);
/* 显示车票 */
printf("All Tickets:\n");
show_ticket_list(head);
/* 释放车票链表 */
free_ticket_list(&head);
return 0;
}
```
上述代码实现了一个简单的火车订票系统,使用了链表数据结构来存储车票信息。我们可以通过调用`add_ticket`函数来添加车票,通过调用`show_ticket_list`函数来显示所有车票信息,通过调用`free_ticket_list`函数来释放车票链表。您可以将上述代码保存为`.c`文件并编译运行来演示该系统的运行效果。
阅读全文