使用数组或指针设计简单的学生成绩管理系统 功能界面: 0 退出 1 输入学生成绩 (学号、姓名、语文、数学、英语) 2 显示学生成绩(学号、姓名、语文、数学、英语、总分、平均成绩和等级) 平均成绩>=90时 等级为A; 90>平均成绩>=75时 等级为B; 75>平均成绩>=60时 等级为C; 平均成绩<60时 等级为D; 3 根据学生平均成绩排序 4 根据学生学号查询学生成绩 注:实现以上功能并完成C语言程序
时间: 2023-03-09 17:41:47 浏览: 77
使用数组或指针设计简单的学生成绩管理系统可以创建一个结构体来存储学生的成绩信息,其中包括:学号、姓名、语文、数学、英语,并且根据平均成绩来计算学生的总分和等级,然后使用数组或指针来存储学生的成绩信息,最后根据学生的学号或者平均成绩来排序和查询学生的成绩。
相关问题
使用数组或指针设计简单的学生成绩管理系统 功能界面: 0 退出 1 输入学生成绩 (学号、姓名、语文、数学、英语) 2 显示学生成绩(学号、姓名、语文、数学、英语、总分、平均成绩和等级) 平均成绩>=90时 等级为A; 90>平均成绩>=75时 等级为B; 75>平均成绩>=60时 等级为C; 平均成绩<60时 等级为D; 3 根据学生平均成绩排序 4 根据学生学号查询学生成绩 注:实现以上用C语言写出程序
这个学生成绩管理系统有如下四个功能:
0. 退出:退出程序
1. 输入学生成绩:输入学生的学号、姓名、语文、数学、英语成绩
2. 显示学生成绩:显示学生的学号、姓名、语文、数学、英语成绩、总分、平均成绩和等级。根据平均成绩的高低,将其分为A(平均成绩>=90)、B(90>平均成绩>=75)、C(75>平均成绩>=60)、D(平均成绩<60)四个等级
3. 排序:根据学生的平均成绩对学生的成绩进行排序
4. 查询:根据学生的学号查询学生的成绩
注意:该程序要用C语言编写。
用结构体数组指针来写学生成绩管理系统
好的,我可以给您提供一个基本的代码框架,您可以在此基础上进行修改和完善:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100 // 学生最大数量
// 学生结构体
typedef struct {
char name[20]; // 学生姓名
int id; // 学生学号
float score; // 学生成绩
} Student;
// 学生数组指针
Student* students[MAX_STUDENT_NUM];
int studentCount = 0; // 学生数量
// 添加学生
void addStudent(char* name, int id, float score) {
if (studentCount >= MAX_STUDENT_NUM) {
printf("已达到最大学生数量,无法添加\n");
return;
}
Student* s = (Student*)malloc(sizeof(Student));
strcpy(s->name, name);
s->id = id;
s->score = score;
students[studentCount++] = s;
printf("添加学生成功\n");
}
// 删除学生
void deleteStudent(int id) {
for (int i = 0; i < studentCount; i++) {
if (students[i]->id == id) {
free(students[i]);
for (int j = i + 1; j < studentCount; j++) {
students[j - 1] = students[j];
}
studentCount--;
printf("删除学生成功\n");
return;
}
}
printf("未找到该学生\n");
}
// 修改学生成绩
void modifyScore(int id, float score) {
for (int i = 0; i < studentCount; i++) {
if (students[i]->id == id) {
students[i]->score = score;
printf("修改成绩成功\n");
return;
}
}
printf("未找到该学生\n");
}
// 查询学生信息
void queryStudent(int id) {
for (int i = 0; i < studentCount; i++) {
if (students[i]->id == id) {
printf("姓名:%s\n", students[i]->name);
printf("学号:%d\n", students[i]->id);
printf("成绩:%.2f\n", students[i]->score);
return;
}
}
printf("未找到该学生\n");
}
// 输出所有学生信息
void printAllStudents() {
for (int i = 0; i < studentCount; i++) {
printf("姓名:%s\n", students[i]->name);
printf("学号:%d\n", students[i]->id);
printf("成绩:%.2f\n", students[i]->score);
}
}
int main() {
// 添加示例学生
addStudent("张三", 1001, 90);
addStudent("李四", 1002, 80);
addStudent("王五", 1003, 70);
// 测试功能
modifyScore(1002, 85);
queryStudent(1003);
deleteStudent(1001);
printAllStudents();
// 释放内存
for (int i = 0; i < studentCount; i++) {
free(students[i]);
}
return 0;
}
```
这个代码框架包括了学生结构体的定义、学生数组指针的声明、添加学生、删除学生、修改学生成绩、查询学生信息和输出所有学生信息等功能。您可以根据自己的需求进行修改和完善。
阅读全文