用c语言写一个学生管理系统结构体数组
时间: 2023-12-15 11:07:20 浏览: 169
当然可以!以下是一个使用结构体数组实现的简单学生管理系统的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
char name[50];
int age;
float gpa;
};
int main() {
struct Student students[MAX_STUDENTS];
int numStudents = 0;
while (1) {
printf("1. 添加学生\n");
printf("2. 显示所有学生\n");
printf("3. 退出\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1: {
if (numStudents == MAX_STUDENTS) {
printf("学生数量已达上限!\n");
break;
}
printf("请输入学生姓名:");
scanf("%s", students[numStudents].name);
printf("请输入学生年龄:");
scanf("%d", &students[numStudents].age);
printf("请输入学生GPA:");
scanf("%f", &students[numStudents].gpa);
numStudents++;
break;
}
case 2: {
if (numStudents == 0) {
printf("没有学生记录!\n");
break;
}
printf("所有学生的信息:\n");
for (int i = 0; i < numStudents; i++) {
printf("学生姓名:%s\n", students[i].name);
printf("学生年龄:%d\n", students[i].age);
printf("学生GPA:%f\n", students[i].gpa);
printf("--------------------\n");
}
break;
}
case 3:
printf("感谢使用学生管理系统!\n");
return 0;
default:
printf("无效的选择!\n");
break;
}
}
}
```
这个示例代码使用了一个 `Student` 结构体来表示学生的信息,包括姓名、年龄和GPA。使用结构体数组 `students` 来存储多个学生的信息。通过一个循环菜单,可以选择添加学生、显示所有学生或退出程序。每次添加学生时,会依次输入学生的姓名、年龄和GPA,并将其存储到结构体数组中。显示所有学生时,会遍历结构体数组并逐个打印出学生的信息。
请注意,本示例没有对输入进行严格的错误处理和边界检查,仅作为简单的演示。在实际开发中,应该根据需求进行适当的输入验证和错误处理。
阅读全文