c++ 初学者,求助,课后习题。
题:建立一个对象数组,内放5个学生的数据(学号,成绩),用指针指向数组的首元素,输出第 1,3,5;个学生的数据,设计一个max 函数,用指向对象的指针变量作为函数参数,函数的功能是找出5个学生中的成绩最高者,并输出其学号及成绩。
程序代码:#include<iostream>
#include<cstring>
#define maxsize 5;
using namespace std;
class ST
{
private:
int g;
char num[15];
public:
ST(int x,const char *y)
{
g=x;
strcpy(num,y);
}
};
ex(ST *p)
{
for(int i=0;i<maxsize;i=i+2)
cout<<"第"<<i+1<<"个人的成绩为:"<<s[i]->g<<endl;
}
void max(ST *s)
{
ST temp(s[0]);
for(int i=0;i<maxsize-1;i++)
{
if(s[i]<s[i+1])
temp=s[i+1];
}
cout<<"成绩最高的人的学号是:"<<temp->num<<"其成绩为:"<<g<<endl;
}
int main()
{
ST s[maxsize];
s[0]=ST(98,1306060132);
s[1]=ST(97,1306060131);
s[2]=ST(96,1306060134);
s[3]=ST(95,1306060132);
s[4]=ST(94,1306060129);
ex(s);
max(s);
return 1;
}
我不太会查看错误,大概逻辑知道些,求前辈给出解答。










。