设计一个学生成绩管理系统的大作业,要求有以下功能:输入基本信息(学号、姓名、课程名、各科成绩等);显示所有信息或根据要求输出信息;排序(按学号\姓名\某门课程分数\总分,可以根据学生的能力自己扩充);查询(按学号\姓名\某门课程等,自己可以扩充)。程序框架如下: main() { …… while(1) { printf(“1. 输入\n“); printf(“2. 查询\n“); printf(“3. 显示\n“); printf(“4. 排序\n“)
时间: 2024-02-27 09:57:18 浏览: 93
C语言课程设计作业-学生成绩的管理系统代码(95分以上)
好的,这是一个很典型的学生成绩管理系统,需要实现输入、查询、显示和排序等功能。这里给出一个简单的程序框架供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
#define MAX_COURSE_NUM 10
/* 学生结构体 */
typedef struct {
int id; /* 学号 */
char name[20]; /* 姓名 */
float scores[MAX_COURSE_NUM]; /* 各科成绩 */
float total_score; /* 总分 */
} student_t;
/* 学生成绩管理系统 */
student_t students[MAX_STUDENT_NUM]; /* 学生数组 */
int student_num = 0; /* 学生总数 */
/* 输入学生信息 */
void input_student_info() {
/* TODO: 实现输入学生信息的功能 */
}
/* 查询学生成绩 */
void query_student_score() {
/* TODO: 实现查询学生成绩的功能 */
}
/* 显示学生信息 */
void show_student_info() {
/* TODO: 实现显示学生信息的功能 */
}
/* 按学号排序 */
void sort_by_id() {
/* TODO: 实现按学号排序的功能 */
}
/* 按姓名排序 */
void sort_by_name() {
/* TODO: 实现按姓名排序的功能 */
}
/* 按某门课程分数排序 */
void sort_by_course_score(int course_idx) {
/* TODO: 实现按某门课程分数排序的功能 */
}
/* 按总分排序 */
void sort_by_total_score() {
/* TODO: 实现按总分排序的功能 */
}
int main() {
int choice;
while (1) {
printf("1. 输入\n");
printf("2. 查询\n");
printf("3. 显示\n");
printf("4. 排序\n");
printf("0. 退出\n");
printf("请输入你的选择: ");
scanf("%d", &choice);
switch (choice) {
case 1:
input_student_info();
break;
case 2:
query_student_score();
break;
case 3:
show_student_info();
break;
case 4:
printf("1. 按学号排序\n");
printf("2. 按姓名排序\n");
printf("3. 按某门课程分数排序\n");
printf("4. 按总分排序\n");
printf("请选择排序方式: ");
scanf("%d", &choice);
switch (choice) {
case 1:
sort_by_id();
break;
case 2:
sort_by_name();
break;
case 3:
printf("请输入要排序的课程编号: ");
scanf("%d", &choice);
sort_by_course_score(choice - 1);
break;
case 4:
sort_by_total_score();
break;
default:
printf("无效的选择\n");
break;
}
break;
case 0:
printf("再见!\n");
return 0;
default:
printf("无效的选择\n");
break;
}
}
return 0;
}
```
在这个程序框架中,我们定义了一个 `student_t` 结构体表示学生信息,包括学号、姓名、各科成绩和总分。同时,我们定义了一个 `students` 数组表示所有学生信息,以及一个 `student_num` 变量表示学生总数。
接下来,我们实现输入、查询、显示和排序等功能。可以看到,在程序中我们使用了一些函数来实现不同的功能,如 `input_student_info()`、`query_student_score()`、`show_student_info()`、`sort_by_id()`、`sort_by_name()`、`sort_by_course_score()` 和 `sort_by_total_score()` 等。
最后,在 `main()` 函数中,我们使用一个无限循环来不断接收用户的选择,并根据不同的选择来调用相应的函数来实现相应的功能。当用户选择 `0` 退出程序时,程序结束。
阅读全文