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; }
我不太会查看错误,大概逻辑知道些,求前辈给出解答。