c语言信息管理系统结构体数组多条输入
时间: 2023-08-02 14:45:39 浏览: 29
C 语言中可以使用结构体数组来实现信息管理系统,下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT 100
// 定义一个学生结构体
struct Student {
char name[20];
int age;
char gender;
};
int main() {
struct Student students[MAX_STUDENT];
int count = 0; // 当前学生数量
int i;
// 循环读入学生信息
while (count < MAX_STUDENT) {
struct Student s;
// 读入学生姓名
printf("请输入学生姓名:");
scanf("%s", s.name);
// 判断是否结束输入
if (strcmp(s.name, "end") == 0) {
break;
}
// 读入学生年龄
printf("请输入学生年龄:");
scanf("%d", &s.age);
// 读入学生性别
printf("请输入学生性别:");
scanf(" %c", &s.gender);
// 将学生信息存入数组中
students[count] = s;
count++;
}
// 输出学生信息
for (i = 0; i < count; i++) {
printf("姓名:%s,年龄:%d,性别:%c\n", students[i].name, students[i].age, students[i].gender);
}
return 0;
}
```
在这个示例中,我们定义了一个结构体 `Student` 来表示学生信息。我们使用一个结构体数组 `students` 来存储多个学生的信息。在主函数中,我们使用一个循环来读入学生信息并将其存入结构体数组中,直到用户输入 `end` 为止。最后,我们使用另一个循环来输出所有学生的信息。
需要注意的是,我们使用 `strcmp` 函数来判断用户是否输入了 `end`。`strcmp` 函数可以比较两个字符串是否相等,如果相等返回 0,否则返回非零值。此外,在读入学生性别时需要在 `%c` 之前添加一个空格,以避免读入上一个输入的换行符。
相关推荐


















