第十六周实验报告2

来源:互联网 发布:淘宝店家温馨寄语 编辑:程序博客网 时间:2024/06/04 19:45
程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:       学生成绩排序

* 作    者:     王智凯                       
* 完成日期:  2012年  6月5日
* 版 本 号:  凯子

 

#include <iostream>#include <fstream>#include <string>using namespace std;class Student{public:Student(){};Student(string na,double c,double m,double e);void set_name(string name);void set_c_num(double c_num);void set_m_num(double m_num);void set_e_num(double e_num);void set_sum(double sum);void set_average(double average);string get_name(){return name;}  double get_c_num(){return c_num;}double get_m_num(){return m_num;}double get_e_num(){return e_num;}double get_sum(){return sum;}double get_average(){return average;}private:string name;double c_num;double m_num;double e_num;double sum;double average;};                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Student::Student(string na,double c,double m,double e){na = name;c = c_num;m = m_num;e = e_num;    sum = c+e+m;average = (c + e + m)/3;}void Student::set_name(string name){this->name =name;}void Student::set_c_num(double c_num){this->c_num = c_num;}void Student::set_m_num(double m_num){this->m_num = m_num;}void Student::set_e_num(double e_num){this->e_num = e_num;}void Student::set_sum(double sum){this->sum = sum;}void Student::set_average(double average){this->average = average;}int main(){Student stud[100],t; //stud[100]为保存数据的对象数组string sname;double scpp, smath, senglish;int i,j;double max1,max2,max3,max4;//将文件中的数据读入到对象数组中ifstream infile("score.dat",ios::in);  //以输入的方式打开文件//测试是否成功打开if(!infile)       {cerr<<"open error!"<<endl;exit(1);}for(i=0;i<100;i++){infile>>sname>>scpp>>smath>>senglish;}infile.close();//各科最高分及总分最高分     for(i = 1;i<100;i++) { max1 = stud[0].get_c_num();if(stud[i].get_c_num()>max1){max1 =  stud[i].get_c_num();} max2 = stud[0].get_e_num();if(stud[i].get_e_num()>max2){max2 =  stud[i].get_e_num();} max3 = stud[0].get_m_num();if(stud[i].get_m_num()>max3){max3 =  stud[i].get_m_num();} max4 = stud[0].get_sum();if(stud[i].get_sum()>max4){max4 =  stud[i].get_sum();} }cout<<"C++最高分为: "<<max1<<endl;cout<<"高等数学最高分为: "<<max3<<endl;cout<<"英语最高分为: "<<max2<<endl;cout<<"总分最高分为: "<<max4<<endl;//总分排名for(i = 0;i<99;++i){for(j = 0; j <99-i;++j){if(stud[i].get_sum()<stud[i+1].get_sum()){t=stud[i];  stud[i]= stud[i+1];stud[i+1] = t;}}}//数据输出for(i=0;i<100;i++){cout<<stud[i].get_name()<<"\t";cout<<stud[i].get_c_num()<<"\t";cout<<stud[i].get_m_num()<<"\t";cout<<stud[i].get_e_num()<<"\t";cout<<stud[i].get_sum()<<endl;}  system("pause");return 0;}


此程序有一个地方错误(弄出来的结果乱码),求鉴定

原创粉丝点击