在写程序时,希望实现从文件中按顺序取数据并存入类grade 的数组st[100]中,
但是从文件读取数据的时候遇到了这个警告,求助大神!!
读取程序段:
int Read(grade st[])
{
char names[20]; //学生姓名
char courses[20]; //课程名称
int codes; //课程代号
int marks; //分数
fstream File;
File.open("score.txt",ios::in|ios::binary);
if(!File)
{
cout<<"score.txt can't open!"<<endl;
abort();
}
File.seekg(0); //定位回文件头
int i=0;
while(File.peek()!=EOF)
{
File>>codes;
File>>courses;
File>>names;
File>>marks;
st[i].setcode(codes);
st[i].setcourse(courses);
st[i].setname(names);
st[i].setmark(marks);
i++;
}
File.close();
return i ;
}
grade类:
class grade:public fig
{
public:
grade(char *n="ss",char *c="s",int code=0,int mark=0,int y=0,int m=0,int d=0)
{
strcpy(name,n);
strcpy(course,c);
this->code=code;
this->mark=mark;
number++;
}
~grade(){number--;}
grade(grade &a)
{
strcpy(name,a.name);
strcpy(course,a.course);
code=a.code;
mark=a.mark;
}
void setname(char *n){strcpy(name,n);}
void setcourse(char *n){strcpy(course,n);}
void setcode(int k=0){code=k;}
void setmark(int k=0){mark=k;}
char *getname()
{
char *n;n=name;
return n;
}
char *getcourse()
{
char *n;
n=course;
return n;
}
int getmark()
{
int n=mark;
return n;
}
int getcode()
{
int n=code;
return n;
}
private:
char name[20];//学生姓名
char course[20];//课程名称
int code;//课程代号
int mark;//分数
static int number;//计算录入信息总人数
};
主函数调用写法:
void main()
{
grade st[100];
int sum;
sum=Read(st);
}