|
|
#3
newyj2008-05-01 11:16
借鉴了一下楼上的 自己写了个
没有测试 不知道对不对 还请指出不足
#include<iostream>
#include<string>
using namespace std;
class CStudent{
public:
CStudent(const string& m,const string& n,double a,double b,double c);
CStudent(const CStudent& var);
~CStudent(){};
double num()const;
double num(double a,double b,double c);
double average()const;
double average(double a,double b,double c);
void display()const;
CStudent& setdate();
private:
string zhuce;
string name;
double sx;
double wy;
double computer;
};
CStudent::CStudent(const string& m,const string& n,double a,double b,double c):zhuce(m),name(n),sx(a),wy(b),coumpter(c){}
CStudent::CStudent(const CStudent& var):zhuce(var.zhuce),name(var.name),sx(var.sx),wy(var.wy),computer(){}
double CStudent::num()const{return sx+wy+coumpter;}
double CStudent::num(double a,double b,double c){return a+b+c;}
double CStudent::average()const{return (sx+wy+coumpter)/3;}
double CStudent::average(double a,double b,double c){return (a+b+c)/3;}
void Cstudent::display()const{
cout<<"注册号: "<<zhuce<<endl;
cout<<"姓名: "<<name<<endl;
cout<<"数学成绩: "<<sx<<endl;
cout<<"外语成绩: "<<wy<<endl;
cout<<"计算机成绩: "<<computer<<endl;
cout<<"总成绩: "<<sum(sx,wy,coumpter)<<endl;
cout<<"平均成绩: "<<average(sx,wy,compter)<<endl;
}
const CStudent& CStudent::setdate(){
cout<<"输入注册号"<<endl;
cin>>zhuce;
cout<<"输入姓名"<<endl;
cin>>name;
cout<<"输入数学成绩"<<endl;
cin>>sx;
cout<<"输入外语成绩"<<endl;
cin>>wy;
cout<<"输入计算机成绩"<<endl;
cin>>computer;
return *this;
}
int main(){
int value=0;
cout<<"输入学生人数: ";
cin>>value;
const int value=value;
CStudent str[value],max,mid;
for(int i=0;i<=value-1;i++){
str[i].display().num();
}
max=str[0];
for(int i=1;i<=value-1;i++){
if(max<str[i]){
mid=str[i];
str[i]=max;
max=mid;
}
}
max.display();
return 0;
}
|