学生信息类
程序员文章站
2022-06-21 17:46:27
...
学生信息类
编写一个学生成绩信息类,包含的数据有学号、姓名、程序设计课程成绩、计算机网络课程成绩、数据库课程成绩。输入若干名学生的成绩信息,显示3门课程总分从高到低的排名和每门课程成绩均大于85分的学生名单。运行结果示例样张如图1所示。
注意:使用对象数组。
#include <iostream>
#include<cstring>
using namespace std;
class Score{
private:
int number;
string name;
int cxsj;
int jsjwl;
int sjk;
int total;
public:
Score(){ }
Score(int num,string na,int c,int j,int s):number(num),name(na),cxsj(c),jsjwl(j),sjk(s){}
int sum();
int getc(){return cxsj;}
int getj(){return jsjwl;}
int gets(){return sjk;}
void display();
};
int Score::sum(){
total=0;
total=total+cxsj+jsjwl+sjk;
return total;
}
void Score::display(){
cout<<number<<"\t"<<name<<"\t"<<cxsj<<"\t"<<jsjwl<<"\t"<<sjk<<"\t"<<total<<endl;
}
int main(){
int num,c,j,s;
string na;
int renshu;
int i;
cout<<"一共有多少人?"<<endl;
cin>>renshu;
Score person[renshu];
cout<<"请输入学生成绩的信息"<<endl;
cout<<"学号"<<"\t姓名"<<"\t程序设计"<<"\t计算机网络"<<"\t数据库"<<endl;
for(i=0;i<renshu;i++){
cin>>num>>na>>c>>j>>s;
person[i]=Score(num,na,c,j,s);
}
cout<<"按总分高低排名如下:"<<endl;
cout<<"学号"<<"\t姓名"<<"\t程序设计"<<"\t计算机网络"<<"\t数据库"<<endl;
for(i=0;i<renshu;i++){
for(int j=i+1;j<renshu;j++){
if(person[i].sum()<person[j].sum()){
Score k;
k=person[i];
person[i]=person[j];
person[j]=k;
}
}
}
for(i=0;i<renshu;i++){
person[i].display();
}
cout<<"每门课程成绩都大于85分的学生名单:"<<endl;
cout<<"学号"<<"\t姓名"<<"\t程序设计"<<"\t计算机网络"<<"\t数据库"<<endl;
for(i=0;i<renshu;i++){
if(person[i].getc()>85 && person[i].getj()>85 && person[i].gets()>85){
person[i].display();
}
}
return 0;
}
仅供参考,切勿照抄
下一篇: Grpc系列学习(一)
推荐阅读