如何用C语言设计并实现一个包含循环结构的学生成绩管理系统,包括输入、处理和可能的错误检查功能?
时间: 2024-10-27 18:08:16 浏览: 6
在C语言中,我们可以创建一个简单的学生成绩管理系统,通过循环结构来管理学生信息。下面是一个基本的设计思路:
```c
#include <stdio.h>
typedef struct {
char name[50];
int id;
float score;
} Student;
void addStudent(Student* students, int* numStudents) {
printf("请输入学生的姓名(不超过50字符),ID和分数:\n");
scanf("%s %d %f", students[*numStudents].name, &students[*numStudents].id, &students[*numStudents].score);
(*numStudents)++;
}
void displayStudents(Student* students, int numStudents) {
for (int i = 0; i < numStudents; i++) {
printf("学生 %d 的信息:姓名:%s,ID:%d,分数:%f\n", i+1, students[i].name, students[i].id, students[i].score);
}
}
int main() {
int numStudents = 0;
Student students[100]; // 预设一定容量,实际应用中可根据需求动态扩展
while (1) {
char choice;
printf("\n请选择操作(1.添加学生 2.显示所有学生 3.退出):");
scanf(" %c", &choice);
switch (choice) {
case '1':
addStudent(&students, &numStudents);
break;
case '2':
displayStudents(students, numStudents);
break;
case '3':
printf("感谢使用成绩管理系统,再见!\n");
return 0;
default:
printf("无效的选择,请重新输入。\n");
}
}
return 0; // 这里理论上不会执行到,因为上面已经有一个return终止了程序
}
阅读全文