#include <iostream>
#include <fstream>
#include <string>
#include "T2.h"
using namespace std;
int main()
{
student stu[101];
ifstream readFile,readfile;
ofstream writeFile;
readFile.open("score.dat",ios::in);
readfile.open("score.txt",ios::in|ios::binary);
writeFile.open("score.txt",ios::trunc|ios::in|ios::out|ios::binary);
if(!readFile)
{
cout<<"error";
}
else
{
for(int i=0;i<100;i++)
{
readFile>>names>>cpps>>maths>>englishs;
stu[i].setname(names);
stu[i].setcpp(cpps);
stu[i].setmath(maths);
stu[i].setenglish(englishs);
stu[i].setallscore();
stu[i].setscore();
writeFile.write((char *)&stu[i],sizeof(stu[i]));
}
stu[100].setname("时永杰");
stu[100].setcpp(100);
stu[100].setmath(100);
stu[100].setenglish(100);
stu[100].setallscore();
stu[100].setscore();
writeFile.write((char *)&stu[100],sizeof(stu[100]));
}
for(int i=0;i<=100;i++)
{
readfile.read((char *)&stu[i],sizeof(stu[i]));
}
bubble_sort( stu);
for(int i=0;i<=100;i++)
{
cout<<stu[i].getname()<<" "<<stu[i].getcpp()<<" "<<stu[i].getmath()<<" "<<stu[i].getenglish()<<" "<<stu[i].getallscore()<<" "<<stu[i].getscore()<<endl;
//writeFile<<stu[i].getname()<<" "<<stu[i].getcpp()<<" "<<stu[i].getmath()<<" "<<stu[i].getenglish()<<" "<<stu[i].getallscore()<<" "<<stu[i].getscore()<<endl;
};
readFile.close();
readfile.close();
writeFile.close();
system("pause");
return 0;
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string names;
double cpps;
double maths;
double englishs;
double allscores;
double scores;
string names1;
double cpps1;
double maths1;
double englishs1;
double allscores1;
double scores1;
class student
{
private:
string name;
double cpp;
double math;
double english;
double allscore;
double score;
public:
student(){name=" ";cpp=0;math=0;english=0;allscore=0;score=0;}
void setname(string );
void setcpp(double );
void setmath(double);
void setenglish(double );
void setallscore();
void setscore();
string getname();
double getcpp();
double getmath();
double getenglish();
double getallscore();
double getscore();
};
void student::setname(string names)
{
name=names;
}
void student::setcpp(double cpps)
{
cpp=cpps;
}
void student::setmath(double maths)
{
math=maths;
}
void student::setenglish(double englishs)
{
english=englishs;
}
void student::setallscore()
{
allscore=cpp+math+english;
}
void student::setscore()
{
score=allscore/3;
}
string student::getname()
{
return name;
}
double student::getcpp()
{
return cpp;
}
double student::getmath()
{
return math;
}
double student::getenglish()
{
return english;
}
double student::getallscore()
{
return allscore;
}
double student::getscore()
{
return score;
}
void bubble_sort(student stu[])
{
int j,i;
j=0,i=0;
for(j=0;j<101;j++)
for (i=0;i<=99;i++)
if(stu[i].getallscore()<stu[i+1].getallscore())
{
names=stu[i].getname();
englishs=stu[i].getenglish();
cpps=stu[i].getcpp();
maths=stu[i].getmath();
names1=stu[i+1].getname();
englishs1=stu[i+1].getenglish();
cpps1=stu[i+1].getcpp();
maths1=stu[i+1].getmath();
stu[i].setname(names1);
stu[i].setcpp(cpps1);
stu[i].setmath(maths1);
stu[i].setenglish(englishs1);
stu[i].setallscore();
stu[i].setscore();
stu[i+1].setname(names);
stu[i+1].setcpp(cpps);
stu[i+1].setmath(maths);
stu[i+1].setenglish(englishs);
stu[i+1].setallscore();
stu[i+1].setscore();
}
}