标题:请大家帮我看看这个程序 谢谢
只看楼主
s200591060
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-24
 问题点数:0 回复次数:1 
请大家帮我看看这个程序 谢谢

//编写一个程序,输入3个学生的英语和计算机成绩,并按总分从底到高排序。要求设计一个学生类Student。

#include "iostream"
using namespace std;
class Student
{
public:
void getscore();
void display();
friend bool operator>(Student &s1,Student &s2) // ‘>’ 运算符重载
{
return (s1.total>s2.total);


}
~Student();

private:
int english,computer;
int total;
};
void Student::getscore()
{
cout<<"输入英语成绩:";
cin>>english;
cout<<"输入计算机成绩:";
cin>>computer;
total=english+computer;
}
void Student::display()
{
cout<<"英语="<<english<<"计算机="<<computer<<"总分="<<total<<endl;
}
int main()
{
Student *A[3],*tmp;
int i,j;
for(i=0;i<3;i++)
{
A[i]=new Student;
cout<<"学生"<<i+1<<endl;
A[i]->getscore();
}
for(j=0;j<2;j++)
for(i=0;i<2-j;i++)
{
if(A[i] >A[i+1])

{
tmp=A[i];A[i]=A[i+1];A[i+1]=tmp;
} //在main中采用冒泡排序方法,将对象数组A[]按total数据成员值从大到小批排序。
}

cout<<endl<<"排序结果如下:"<<endl;

for(i=0;i<3;i++)
A[i]->display();

return 0;
}

请大家帮我看看这个程序 上面的‘>'运算符重载和下面if(A[i]>A[i+1])的调用有什么问题 我上机跟踪程序运行了 下面的if语句没有执行 为什么会这样??

搜索更多相关主题的帖子: 计算机 private display include 
2007-03-30 00:52
s200591060
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-24
得分:0 

2007-03-30 01:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-127961-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.089712 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved