用c语言编写一个可以存储多个乘客信息的程序
时间: 2024-02-27 12:58:02 浏览: 25
好的,我可以帮你解决这个问题。以下是一个简单的 C 语言程序,可以存储多个乘客的信息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PASSENGERS 50
#define MAX_NAME_LENGTH 50
typedef struct {
char name[MAX_NAME_LENGTH];
int age;
char address[MAX_NAME_LENGTH];
} Passenger;
int main() {
Passenger passengers[MAX_PASSENGERS];
int num_passengers = 0;
while (1) {
printf("Enter passenger name (or 'q' to quit): ");
char name[MAX_NAME_LENGTH];
fgets(name, MAX_NAME_LENGTH, stdin);
if (strcmp(name, "q\n") == 0) {
break;
}
printf("Enter passenger age: ");
int age;
scanf("%d", &age);
getchar();
printf("Enter passenger address: ");
char address[MAX_NAME_LENGTH];
fgets(address, MAX_NAME_LENGTH, stdin);
Passenger p;
strcpy(p.name, name);
p.age = age;
strcpy(p.address, address);
passengers[num_passengers++] = p;
printf("Passenger added!\n");
}
printf("Passenger list:\n");
for (int i = 0; i < num_passengers; i++) {
printf("%s, %d, %s", passengers[i].name, passengers[i].age, passengers[i].address);
}
return 0;
}
```
这个程序使用了一个结构体 `Passenger` 来存储每个乘客的信息。结构体包含了乘客的姓名、年龄和地址。程序使用一个数组来存储所有的乘客信息,最多可以存储 `MAX_PASSENGERS` 个乘客信息。
在程序运行时,程序会不断询问用户输入乘客信息,直到用户输入 `q` 退出。每次输入完一组乘客信息后,程序会将其存储到数组中,并递增 `num_passengers` 变量,表示已经存储了多少个乘客信息。
最后,程序会输出所有存储的乘客信息。