灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3528回复:0

[C++技术]C++面向对象类的实例题目八

楼主#
更多 发布于:2014-01-05 16:11
来源:学如逆水行舟,不进则退

题目描述:

编写一个程序输入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; if(p-="" {="" *p)="" Student::sort(Student="" void="" }="">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.getscore();
st.display();
}
st[0].sort(&st[1]);
st[0].sort(&st[2]);
st[1].sort(&st[2]);
cout<<"======================"<<endl; {="" }="" pre="" }<="" st.display();="" i++)="" 3;="" <="" i="0;" for(int="" cout<<?排序结果如下:?<<endl;=""><br>
<br>
<p></p>
<p>输出结果:</p>
<p><pre class="brush:java;">请输入该学生的英语成绩:80
请输入该学生的计算机成绩:90
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
请输入该学生的英语成绩:70
请输入该学生的计算机成绩:60
该学生的英语成绩为:70,计算机成绩为:60,总分为:130
请输入该学生的英语成绩:99
请输入该学生的计算机成绩:87
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
======================
排序结果如下:
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
该学生的英语成绩为:70,计算机成绩为:60,总分为:130
</pre><br>
<br>
<p></p> </endl;></english<<",计算机成绩为:"<<computer<<",总分为:"<<total<<endl;></iostream>

喜欢0 评分0
游客

返回顶部