/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:score.cpp * 作 者: * 完成日期: 年 月 日 * 版本号: v1.0 * 输入描述:已经在程序中初始化 * 问题描述:将学生成绩信息存储在结构体数组中,对结构体排序并输出 * 输出:按C++降序和按学号升序排序后的学生成绩单 */ #include <iostream> #include<fstream> using namespace std; struct Score { char num[14]; char name[14]; int cpp; int math; int english; int zong; }; Score man[100000]; void output(Score man[],int num); int main(){ int mannum=0; ifstream infile("man.txt",ios::in); //以输入的方式打开文件 if(!infile) //测试是否成功打开 { cerr<<"open error!"<<endl; exit(1); } while (!infile.eof()) { infile>>man[mannum].num>>man[mannum].name>>man[mannum].cpp>>man[mannum].english>>man[mannum].math; man[mannum].zong=man[mannum].cpp+man[mannum].english+man[mannum].math; ++mannum; } infile.close(); cout<<"同学的成绩单 cpp 英语 高数 "<<endl; output(man,(mannum-1)); return 0; } void output(Score man[],int num){ for(int i=0;i<num;i++){ cout<<man[i].num<<" "<<man[i].name<<" "; cout<<man[i].cpp<<" "<<man[i].english<<" "<<man[i].math; cout<<endl; } }
运行结果: