地铁票务系统是一个复杂的系统,涉及到票务管理、乘客身份验证、乘车记录等多个方面。在C语言中,我们可以使用数组和结构体来存储和管理这些信息。以下是一个简单的示例:
```c
#include
#include
#include
// 定义一个结构体来存储乘客信息
typedef struct {
char name[50];
int age;
char ticket_number[10];
} Passenger;
// 定义一个数组来存储所有乘客的信息
Passenger passengers[100];
// 定义一个函数来添加乘客信息
void add_passenger(Passenger p) {
for (int i = 0; i < sizeof(passengers); i++) {
if (strcmp(p.name, passengers[i].name) == 0) {
printf("乘客已存在,请重新输入!
");
return;
}
}
- passengers[sizeof(passengers)
- 1] = p;
}
// 定义一个函数来查询乘客信息
Passenger query_passenger(char ticket_number[10]) {
for (int i = 0; i < sizeof(passengers); i++) {
if (strcmp(passengers[i].ticket_number, ticket_number) == 0) {
return passengers[i];
}
}
printf("未找到该票号的乘客信息!
");
return passengers[0];
}
int main() {
// 添加乘客信息
add_passenger({"张三", 25, "001"});
add_passenger({"李四", 30, "002"});
add_passenger({"王五", 28, "003"});
// 查询乘客信息
printf("查询乘客信息:
");
Passenger p = query_passenger("001");
if (p.age != 25) {
printf("错误:年龄不匹配!
");
} else {
printf("乘客信息:%s,年龄:%d,票号:%s
", p.name, p.age, p.ticket_number);
}
return 0;
}
```
这个示例中,我们首先定义了一个结构体`Passenger`来存储乘客的信息,然后使用一个数组`passengers`来存储所有的乘客信息。我们还定义了两个函数`add_passenger`和`query_passenger`来添加和查询乘客信息。在`main`函数中,我们添加了一些乘客信息,并查询了一个乘客的信息。