- 程序的版权和版本声明部分
- * Copyright (c) 2011, 烟台大学计算机学院学生
- * All rights reserved.
- * 文件名称:
- * 作者:李君凯
- * 完成日期: 2012年 6月 18日
- * 版本号:
- *对任务及求解方法的描述部分
#include<iostream> #include <string> using namespace std; #include<fstream> class Student { public: double get_total(); double get_average(); friend void input(Student *stu) ; friend void input1(Student *stu) ; friend void output(Student *stu); friend void output1(Student *stu); friend void output_max(Student *stu); friend void paixu(Student *stu); friend void get_total(Student *stu); private: string name; double c_score; double m_score; double e_score; double total; double average; }; double Student::get_total() { (this->total) = (this->c_score + this->e_score + this->m_score); return (this->total); } double Student::get_average() { (this->average) = (this->c_score + this->e_score + this->m_score)/3; return (this->average); } void input(Student stu[]) { string name; int i; ifstream inFile("score.dat",ios::in); if(!inFile) { cerr<<"open error!"<<endl; exit(1); } for( i=0;i<100;++i) { inFile>>stu[i].name; inFile>>stu[i].c_score; inFile>>stu[i].e_score; inFile>>stu[i].m_score; } inFile.close(); } void input1(Student stu[]) { string name; ifstream inFile("binary_score.dat",ios::in); if(!inFile) { cerr<<"open error!"<<endl; exit(1); } for( int i=0;i<101;++i) { inFile>>stu[i].name; inFile>>stu[i].c_score; inFile>>stu[i].e_score; inFile>>stu[i].m_score; inFile>>stu[i].total; } inFile.close(); } void output(Student *stu) { ofstream writeFile("binary_score.dat",ios::out); if(!writeFile) { cerr<<"open error!"<<endl; exit(1); } for(int i=0;i<100;++i) { writeFile<<stu[i].name<<" "; writeFile<<stu[i].c_score<<" "; writeFile<<stu[i].e_score<<" "; writeFile<<stu[i].m_score<<" "; //writeFile<<stu[i].average<<" "; writeFile<<stu[i].total<<" "; } writeFile<<"李君凯"<<" "; writeFile<<"100"<<" "; writeFile<<"100"<<" "; writeFile<<"100"<<" "; writeFile<<"300"<<" "; writeFile.close(); } void output1(Student *stu) { for(int i=0;i<101;++i) { //writeFile<<stu[i].name; cout<<stu[i].name<<" "; //writeFile<<stu[i].c_score; cout<<stu[i].c_score<<" "; //writeFile<<stu[i].e_score; cout<<stu[i].e_score<<" "; //writeFile<<stu[i].m_score; cout<<stu[i].m_score<<" "; //writeFile<<stu[i].average; //cout<<stu[i].average<<" "; //writeFile<<stu[i].total; cout<<stu[i].total<<" "; cout<<endl; } //writeFile.close(); } void output_max(Student *stu) { double max1,max2,max3,max4; max1=stu[0].c_score; max2=stu[0].m_score; max3=stu[0].e_score; max4=stu[0].get_total(); for(int i=0;i<101;++i) { if(stu[i].c_score>max1) { max1=stu[i].c_score; } if(stu[i].m_score>max2) { max2=stu[i].m_score; } if(stu[i].e_score>max3) { max3=stu[i].e_score; } if(stu[i].get_total()>max4) { max4=stu[i].get_total(); } } cout<<max1<<endl; cout<<max2<<endl; cout<<max3<<endl; cout<<max4<<endl; } void paixu(Student *stu) { Student t; for( int i=0;i<101;++i) { stu[i].get_total(); stu[i].get_average(); } for(int j=0;j<100;++j) for(int i=0;i<100-j;++i) { if(stu[i].total<stu[i+1].total) { t=stu[i]; stu[i]=stu[i+1]; stu[i+1]=t; } } } void get_total(Student *stu) { for(int i=0;i<100;i++) stu[i].get_total(); } int main() { Student stu[101]; input(stu); get_total(stu); output(stu); input1(stu); output_max(stu); paixu(stu); output1(stu); system("PAUSE"); return 0; }
第十七周实验报告一
最新推荐文章于 2024-09-19 22:42:43 发布