急求!!C语言程序:输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩。

十万火急!!!!编程计算出每个学生的总分和平均分,并按学生成绩优劣排序,最后打印一张按高分到低分名次排序的成绩单。要求:1)排序用一个函数实现。
2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均分。
不要复制来忽悠我

#include <string.h>
#include<iostream>
using namespace std;

class Stu
{

int number;
char name[20];
double math;
double english;
double computer;
public:
Stu(int x,double b1,double b2,double b3,char *p)
{
number=x;
strcpy(name,p);
math=b1;
english=b2;
computer=b3;

};
double sum();
double average();
void print();
int get_reg_num();
void get_stu_inf();

};
double Stu::sum()
{
return(math+english+computer);

}

double Stu::average()
{ double n;
n=(math+english+computer)/3;
return(n);
}

void Stu::print()
{
cout<<"学号"<<'\t'<<"姓名"<<'\t'<<" 数学成绩"<<'\t'<<" 英语成绩"<<'\t'<<"计算机成绩"<<endl;
cout<<number<<'\t'<<name<<'\t'<<'\t'<<math<<'\t'<<'\t'<<english<<'\t'<<'\t'<<computer<<endl;

}
int Stu::get_reg_num()
{
return(number);

}
void Stu::get_stu_inf()
{
cout<<"请输入学生名称";
cin>>name;
cout<<"请输入学生学号";
cin>>number;
cout<<"请输入学生数学成绩";
cin>>math;
cout<<"请输入学生英语成绩";
cin>>english;
cout<<"请输入学生计算机成绩";
cin>>computer;

}
int main()
{
int i,number,c=0;
double s=0;
double y=0;
Stu a[3]={Stu(3450,85,75,65,"yang"),Stu(3440,85,75,65,"hehe"),Stu(3450,85,75,65,"hei")};
for(i=0;i<3;i++)
{
a[i].print();
}
for(i=0;i<3;i++)
{
s=s+a[i].average();
y=y+a[i].sum();
cout<<a[i].get_reg_num()<<endl;
cout<<"平均成绩";
cout<<a[i].average()<<endl;
cout<<"总成绩";
cout<<a[i].sum()<<endl;

}
cout<<"全班总分"<<s<<endl;
cout<<"全班平均成绩"<<y/3<<endl;
cout<<"请输入要查询的学号";
cin>>number;
for(i=0;i<3;i++)
{
if(number==a[i].get_reg_num())
{
a[i].print();
c++;

}
}
if(c==0)
cout<<"没有找到相关学生信息";
system("pause");
return 0;

}

这是以前写的一段代码,自己改下吧
温馨提示:答案为网友推荐,仅供参考
相似回答