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

来源:互联网 发布:cdma是什么网络 编辑:程序博客网 时间:2024/05/01 14:44

题目描述:

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

程序代码:

#include<iostream>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<<"该学生的英语成绩为:"<<english<<",计算机成绩为:"<<computer<<",总分为:"<<total<<endl; }void Student::sort(Student *p){if(p->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<<"======================"<<endl; cout<<"排序结果如下:"<<endl;for(int i = 0; i < 3; i++){st[i].display();} }


输出结果:

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


1 0
原创粉丝点击