C++读取txt文件成绩表并按总分排列后输出到另一文件

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

using namespace std;
struct stu
{
int num;
char name[20];
int chinese,math,english,sum;
};

int main()
{
string line;
int head=0,count=0;
int tmp;
int j;
struct stu arr[25];

ifstream ifs("huizhong.txt");
if(!ifs) return -1;
ofstream ofs("student.txt");
if(!ofs) return -2;
while(getline(ifs,line))
{

istringstream is(line);
if(head==0)
{
//跳过第一行的表头
head=1;
continue;
}

int i=0;
i++;
is>>arr[i].num>>arr[i].name>>arr[i].chinese>>arr[i].math>>arr[i].english;
arr[i].sum=arr[i].chinese+arr[i].math+arr[i].english;

if(count==0)
{
ofs<<"序号"<<"\t"<<"考号\t\t姓名\t\t语文\t\t数学\t\t英语\t\t总分"<<endl;
}
ofs<<count<<"\t"<<arr[i].num<<"\t"<<arr[i].name<<"\t\t"<<arr[i].chinese<<"\t\t"<<arr[i].math<<"\t\t"<<arr[i].english<<"\t\t"<<arr[i].sum<<endl;

count++;
}

ifs.close();
ofs.close();
return 0;
}

我要从huizhong.txt里读取成绩表,按总分排序,然后输出到student.txt,
类似:
考号 姓名 语文 数学 英语
10003333 李四 90 90 100

求高手,已经算出了总分,我要排序后输出,还差点什么?

第1个回答  2012-06-29
排序过程啊
如快速排序、冒泡排序等
相似回答