编写一个C语言程序,实现一个简易的成绩管理系统。要求:1) 允许用户输入多个学生的姓名和成绩,然后存储在一个结构体数组中;2) 能显示所有学生的成绩;3) 能根据姓名查找学生成绩。
时间: 2024-09-08 13:02:15 浏览: 53
下面是一个简易的成绩管理系统的C语言程序示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生信息的结构体
typedef struct {
char name[50];
int score;
} Student;
// 函数声明
void inputStudents(Student students[], int *count);
void showAllStudents(Student students[], int count);
void findStudentScore(Student students[], int count);
int main() {
Student students[50]; // 假设最多输入50个学生的数据
int count = 0; // 实际输入的学生数量
// 输入学生姓名和成绩
inputStudents(students, &count);
// 显示所有学生的信息
showAllStudents(students, count);
// 查找学生信息
char searchName[50];
printf("请输入要查找的学生姓名:");
scanf("%s", searchName);
findStudentScore(students, count);
return 0;
}
// 输入学生姓名和成绩
void inputStudents(Student students[], int *count) {
int i;
for (i = 0; i < 50; ++i) {
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入%s的成绩:", students[i].name);
scanf("%d", &students[i].score);
(*count)++;
}
}
// 显示所有学生的成绩
void showAllStudents(Student students[], int count) {
printf("\n所有学生的成绩如下:\n");
int i;
for (i = 0; i < count; ++i) {
printf("姓名:%s, 成绩:%d\n", students[i].name, students[i].score);
}
}
// 根据姓名查找学生成绩
void findStudentScore(Student students[], int count) {
int i;
for (i = 0; i < count; ++i) {
if (strcmp(students[i].name, searchName) == 0) {
printf("姓名:%s, 成绩:%d\n", students[i].name, students[i].score);
return;
}
}
printf("没有找到名为%s的学生。\n", searchName);
}
```
这个程序包含了三个主要的功能:
1. 允许用户输入多个学生的姓名和成绩,并将它们存储在一个结构体数组中。
2. 显示所有学生的成绩。
3. 根据用户输入的姓名来查找特定学生的成绩。
阅读全文