第十七周任务报告1

#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();
						   

                     }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值