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