一个班级有若干学生,每个学生的数据包括学号、姓名、3门课成绩。从键盘输入学生信息,存入文件student中。再从文件中读出学生信息并打印(要求使用fwrite和fread函数书写)。
#include <bits/stdc++.h>
using namespace std;
class Student
{
char num[11];
char name[20];
int score;
public:
friend istream& operator >> (istream&, Student&);
friend ostream& operator << (ostream&, Student&);
int GetScore()
{
return score;
}
};
istream& operator >> (istream &in, Student &s)
{
cout<<"请输入学生信息:"<<endl;
cout<<"学号:";
in >> s.num;
cout<<"姓名:";
in >> s.name;
cout<<"成绩:";
in >> s.score;
return in;
}
ostream& operator << (ostream &out, Student &s)
{
out <<"学号:"<<s.num<<endl;
out <<"姓名:"<<s.name<<endl;
out <<"成绩:"<<s.score<<endl;
return out;
}
int main()
{
int ave,i;
char ch;
Student s[20];
for(i=0;i<=2;i++)
{
cin>>s[i];
}
ofstream outfile;
outfile.open("imformation.txt",ios::out);
outfile<<s[0]<<endl;
outfile<<s[1]<<endl;
outfile<<s[2]<<endl;
outfile.close();
ifstream infile;
infile.open("imformation.txt");
if(!infile)
{
cout<<"文本内容为空,无法打开!"<<endl;
exit(1);
}
cout <<"下面输出学生信息:"<<endl;
while(infile.get(ch))
{
cout<<ch;
}
infile.close();
cout<<"平均成绩"<<(s[0].GetScore()+s[1].GetScore()+s[2].GetScore())/3;
}