学生成绩管理系统 C++语言

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:39:37
从键盘输入一个班(全班30人)学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别统计下列内容:
(1)统计每个学生的总分和平均分;
(2)按总分由大到小排出名次;
(3)打印出成绩在全班平均分以上的学生名单和数据信息。
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试成绩。
(5)各个功能要求分别用独立的函数来实现,在主函数中通过简单的菜单选择来实现各个功能。
要求使用结构体数组来存储和处理学生信息,结构体主要包括:学号、姓名、班级、三门课成绩、总分、平均分、名次等成员。

代码够长的,调试了半天

在Windows XP + VC++ 6.0中正常运行

#include<iostream>
#include<cstdio>
using namespace std;

const int Max=30;//字符串最大长度

struct Student;//类声明
void setData(Student &s);//设置对象s的数据
void count(Student &s);//计算对象s的总分,平均分
void sort(Student S[],int N);//把长度为N的对象数组S,按平均分排序
double getAverage(Student S[],int N);//计算全班的平均分
void print(Student &s);//打印信息
int search(Student S[],int N,char *n);//从长度为M的对象数组中,查找学号n的位置
struct Student
{
char number[Max];
char name[Max];
double chinese;
double math;
double english;
double total;
double average;
int rank;//只有比较才不为了0
};

void setData(Student &s)
{
cout<<"输入学号,姓名,语文,数学,英语成绩:";//录入数据
cin>>s.number>>s.name>>s.chinese>>s.math>>s.english;
s.total=0;//初始化
s.average=0;
s.rank=0;
}

void count(Stude