成绩管理系统c语言程序设计毕业论文
时间: 2023-07-13 17:19:43 浏览: 28
很高兴能够为您提供帮助。成绩管理系统是一个比较常见的应用,可以使用C语言进行编程实现。以下是一个简单的成绩管理系统的C语言程序设计:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 最大学生数
// 学生结构体
struct Student {
char name[50];
int id;
float grade;
};
// 学生数组
struct Student students[MAX_STUDENT_NUM];
// 学生数量
int student_num = 0;
// 添加学生
void add_student() {
struct Student s;
printf("请输入学生姓名:");
scanf("%s", s.name);
printf("请输入学生学号:");
scanf("%d", &s.id);
printf("请输入学生成绩:");
scanf("%f", &s.grade);
students[student_num++] = s;
}
// 显示所有学生信息
void show_students() {
printf("姓名\t学号\t成绩\n");
for (int i = 0; i < student_num; i++) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].id, students[i].grade);
}
}
// 根据学号查找学生
void find_student_by_id() {
int id;
printf("请输入学生学号:");
scanf("%d", &id);
for (int i = 0; i < student_num; i++) {
if (students[i].id == id) {
printf("姓名:%s 学号:%d 成绩:%.2f\n", students[i].name, students[i].id, students[i].grade);
return;
}
}
printf("未找到学号为%d的学生\n", id);
}
// 根据成绩排序
void sort_students_by_grade() {
for (int i = 0; i < student_num - 1; i++) {
for (int j = i + 1; j < student_num; j++) {
if (students[i].grade < students[j].grade) {
struct Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
}
// 主函数
int main() {
int choice;
while (1) {
printf("1. 添加学生\n");
printf("2. 显示所有学生信息\n");
printf("3. 根据学号查找学生\n");
printf("4. 根据成绩排序\n");
printf("5. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_student();
break;
case 2:
show_students();
break;
case 3:
find_student_by_id();
break;
case 4:
sort_students_by_grade();
break;
case 5:
exit(0);
default:
printf("无效操作,请重新选择\n");
break;
}
}
return 0;
}
```
这个程序实现了添加学生、显示所有学生信息、根据学号查找学生、根据成绩排序等功能。您可以根据自己的需要进行修改和扩展。如果您有更多的问题或需求,请随时告诉我。
相关推荐


















