建立一个对象数组,内放5学生数据(学号,成绩,由用户输入)设立函数max用指向对象的指针做函数参数,在max中找出成绩最高的,并输出学号
#include <iostream>using namespace std;
class A
{
public:
A(int g, int n):grade(g),number(n){}
void get()
{
cin>>grade>>number;
}
int grade;//这里如果改为private,程序该怎样改呢
int number;//
};
void max(A *s)
{
int x;
int i;//为什么main里定义了这里还要定义呢?
int q;//
x=s[0].grade;
for(i=0;i<5;i++)
{
if(x<s[i+1].grade)
{
x=s[+1].grade;
q=i;
}
}
}
int main()
{
int i;
int q=0;
A stud[5]={
A(1,1),A(2,4),A(4,5),A(9,7),A(2,3)};//这里必须对stud初始化吗?我不想对它赋值。有没有简便点的方法
for(i=0;i<5;i++)
{
cout<<"please stud's grade and number"<<endl;
stud[i].get();
}
void max(A *);
A *pt=stud;
max(pt);
cout<<stud[q].number;
return 0;
}