关闭

第五周实验报告(任务四)《学生类》

223人阅读 评论(0) 收藏 举报
 /* (程序头部注释开始)
* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生 

* All rights reserved.

* 文件名称:处理分数

* 作 者: 张培培

* 完成日期: 2012年 03月 20日

* 版 本 号: 

* 对任务及求解方法的描述部分

* 输入描述: 

* 问题描述: 

* 程序输出: 

* 程序头部的注释结束*/

#include<iostream>   
using namespace std;  
class student  
{  
private:  
    long num;  
    double score;  
public:  
    student(long n,double s);  
    void get_student();  
    int max(student *arr);  
    double get_score(){return score;}  
    long get_num(){return num;}  
    int max_score();  
      
};  
student::student(long n,double s)  
{  
    num=n;  
    score=s;  
}  
  
void student::get_student ()  
{  
    cout<<"学号为:"<<num<<"的学生分数为:"<<score<<endl;  
}  
int max(student *arr)    
{    
    float max_score=arr[0].get_score();    
    int k=0;    
    for(int i=1;i<5;i++)    
       if(arr[i].get_score()>max_score)     
       {    
           max_score=arr[i].get_score();   
           k=i;    
       }    
       return arr[k].get_num();  
}  
int max_score(student *arr)  
{  
float max_score=arr[0].get_score();    
    int k=0;    
    for(int i=1;i<5;i++)    
       if(arr[i].get_score()>max_score)     
       {    
           max_score=arr[i].get_score();   
           k=i;    
       }    
       return arr[k].get_score();  
}  
      
  
  
int main()  
{  
    student s[5]={  
        student(1001,87),  
            student(1002,76),  
            student(1003,72),  
            student(1004,90),  
            student(1005,68)  
    };  
    student *p1=&s[0];  
    p1->get_student();  
    void (student::*p2)();  
    p2=&student::get_student;  
    (s[2].*p2)();  
    (s[4].*p2)();  
cout<<"5个学生中成绩最高者的学号为: "<<max(s)<<"成绩为:"<<max_score(s)<<endl;  
 return 0;  
}  


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    最新评论