C++面向对象类的实例题目八

2014-11-24 07:33:47 · 作者: · 浏览: 0

题目描述:

编写一个程序输入3个学生的英语和计算机成绩,并按照总分从高到低排序。要求设计一个学生类Student,其定义如下:

程序代码:

#include
  
   
using namespace std;
class Student
{
	public:
		void getscore();	//获取一个学生成绩
		void display();		//显示一个学生成绩
		void sort( Student *);	//将若干个学生按总分从高到低排序
	private:
		int english;
		int computer;
		int total; 
};
void Student::getscore()
{
	cout<<"请输入该学生的英语成绩:";
	cin>>english;
	cout<<"请输入该学生的计算机成绩:";
	cin>>computer;
	total = english + computer; 
}
void Student::display()
{
	cout<<"该学生的英语成绩为:"<
   
    total > total) //p指向的对象比该对象大的时候,则交换对象的值 { int t1,t2,t3; t1 = p->english; p->english = english; english = t1; t2 = p->computer; p->computer = computer; computer = t2; t3 = p->total; p->total = total; total = t3; } } int main() { Student st[3]; for(int i = 0; i < 3; i++) { st[i].getscore(); st[i].display(); } st[0].sort(&st[1]); st[0].sort(&st[2]); st[1].sort(&st[2]); cout<<"======================"<
    
     

输出结果:

请输入该学生的英语成绩:80
请输入该学生的计算机成绩:90
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
请输入该学生的英语成绩:70
请输入该学生的计算机成绩:60
该学生的英语成绩为:70,计算机成绩为:60,总分为:130
请输入该学生的英语成绩:99
请输入该学生的计算机成绩:87
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
======================
排序结果如下:
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
该学生的英语成绩为:70,计算机成绩为:60,总分为:130