第5行 {sNo=no;strcpy(sName,name);*score=s[0];}
你那s是一维数组所以改为{sNo=no;strcpy(sName,name);*score=s;}
变量的初始化你也错了,括号0这种,你用的是什么编译器?
两处int total(0); 改为int total=0;
int a,b(0);改为int a=b=0;
int i,s,n(0); 改为int i=n=0; s不要了, 和下面的数组s重复了
所有的这里括号0都应该改为以上这种形式。
函数调用你也错了,
teststudent[i].output; 应改为teststudent[i].output();
其他的teststudent[i].calaverage也是,全部都要加上括号
以上是你的语法错误,因这边没这些软件,你可以自己测试一下
#include
#include
class Student{
public:
Student(int no,char name[10], int s[3])
{sNo=no;strcpy(sName,name);*score=s[0];}
Student();
char *getName(){return sName;}
int getNo(){return sNo;}
int calaverage(){
int total(0);
for(int i=0;i<3;i++)
total+=score[i];
return total/3;
}
void output(){
cout<
while(score[i])
{
cout<
}
int total(0);
for(i;i<3;i++)
total+=score[i];
cout<
friend void sort(Student *s,int n);
private:
int sNo;
char sName[10];
int *score;
double average;
};
void sort(Student *s,int n){
//int temp;
Student temp;
for(int i=0;i {
temp=s[j]; // 定义的temp是int型,s[j]是Student型
s[j]=s[j+1];
s[j+1]=temp;
}
for(i=0;i
}
void main(){
const int number=3;
Student teststudent[number];
//int i,s,n(0); // 这里的s
int i,n(0);
int no;
char name[10];
int s[3]; // 跟前面的s重定义,删掉前面??
for(i=0;i
teststudent[i]=Student(no,name,s);
}
for(i=0;i
int a,b(0);
for(i=0;i
b+=teststudent[i].calaverage(); // 函数调用,加括号
a=b/3;
}
for(i=0;i
n+=1;
cout<
不知道程序是什么东西,编译通过而已,可能还有什么问题。。。。
提示什么错误贴出来啊