欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学生信息类

程序员文章站 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;
}

仅供参考,切勿照抄

相关标签: 蒟蒻的作业