按总成绩排序
[cpp]
*/
* 程序的版权和版本声明部分
*Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
*文件名称: array.cpp
* 作 者:杨绍宁
* 完成日期: 2012 年3 月12 日
* 版本号: v1.0
*
* 输入描述:已经在程序初始化中
*问题描述:将学生成绩信息存储在结构体数组中,对结构体并输出排序
*输出:按C++降序和按学号升序排列后的学生成绩单
*/
#include <fstream> //操作文件必写
#include <iostream>
using namespace std;
struct Student
{
char num[300];
char name[300];
int cpp;
int math;
int english;
int score;
};
int main()
{
struct Student student[300];
int num=0,i,j;
Student t[1];
ifstream infile("score.txt",ios::in);
if(!infile){
cout<<"open error"<<endl;
exit(1);
}
while(!infile.eof())//当文件没有达到结尾的时候,继续读入。
{
infile>>student[num].num>>student[num].name>>student[num].cpp>>student[num].math>>student[num].english;
++num;
}
infile.close();
for(i=0;i<num;i++){
student[i].score=student[i].cpp+student[i].math+student[i].english;
}
for(i=0;i<num;i++){
for(j=0;j<num-i;j++)
if(student[j].score<student[j+1].score){
t[0]=student[j];
student[j]=student[j+1];
student[j+1]=t[0];
}
}
for(i=1;i<num;++i){
cout<<student[i].num<<" "<<student[i].name<<" "<<student[i].cpp<<" "<<student[i].math<<" "<<student[i].english<<" "<<student[i].score<<endl;
}
return 0;
}
结果:
补充:软件开发 , C++ ,