火车站票务管理系统c数据结构
时间: 2023-12-31 12:07:13 浏览: 114
火车站票务管理系统是一个典型的应用程序,它需要使用数据结构来存储和管理数据。在C语言中,可以使用结构体来定义数据类型,然后使用指针来操作这些数据类型。以下是一个简单的火车站票务管理系统的示例代码,其中使用了结构体和指针来存储和操作数据:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 100
struct ticket {
char chezhan[9];
char checi[9];
char zuowei[9];
};
struct ticket_data {
struct ticket data[MAX_SIZE];
int length;
};
void read_data(FILE *fp, struct ticket_data *p) {
int i = 0;
while (fscanf(fp, "%8s%8s%8s\n", p->data[i].chezhan, p->data[i].checi, p->data[i].zuowei) != EOF) {
i++;
}
p->length = i;
}
void print_data(struct ticket_data *p) {
int i;
for (i = 0; i < p->length; i++) {
printf("%8s%8s%8s\n", p->data[i].chezhan, p->data[i].checi, p->data[i].zuowei);
}
}
int main() {
FILE *fp;
struct ticket_data data;
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
read_data(fp, &data);
print_data(&data);
fclose(fp);
return 0;
}
```
在这个示例代码中,我们定义了两个结构体类型:`ticket`和`ticket_data`。`ticket`结构体用于存储单张车票的信息,包括车站、车次和座位号。`ticket_data`结构体用于存储所有车票的信息,包括一个`ticket`类型的数组和一个表示数组长度的整数。
我们使用`read_data`函数从文件中读取数据,并将其存储在`ticket_data`结构体中。`print_data`函数用于打印所有车票的信息。在`main`函数中,我们打开一个名为`data.txt`的文件,读取其中的数据,并将其存储在`data`结构体中,最后打印所有车票的信息。
阅读全文