实验报告 5---3

  1. #include <iostream>      
  2. using namespace std;    
  3.      
  4. class Student    
  5. {    
  6. public:    
  7.     Student(int n,float s):num(n),score(s){}//构造函数      
  8.     void display();    
  9.     int getNum(){return num;}//用公有的成员函数可以调用私有的数据成员的值    
  10.     float getScore(){return score;}    
  11. private:    
  12.     int num;    
  13.     float score;    
  14. };    
  15.      
  16. void Student::display()    
  17. {    
  18.     cout<<num<<" "<<score<<endl;    
  19. }    
  20.      
  21. int max(Student *arr);    
  22.      
  23. int main()    
  24. {    
  25.     Student stud[5]={    
  26.        Student(101,86.5),Student(102,83),Student(103,82),    
  27.        Student(104,71),Student(105,99)}; //前面已经进行定义了构造函数,所以在此可以进行初始化    
  28.        for(int i=0;i<5;i+=2)    
  29.        {    
  30.            cout<<"学生"<<i+1<<": ";    
  31.            stud[i].display();    
  32.        }    
  33.        cout<<"5个学生中成绩最高者的学号为: "<<max(stud)<<endl;//调用中,实际参数是数组名,传递给形式参数arr的是数组的首地址      
  34.        system("pause");    
  35.        return 0;    
  36. }    
  37.      
  38. int max(Student *arr)//arr在接受数组首地址之后,可以作为一个数组访问      
  39. {    
  40.     float max_score=arr[0].getScore();//默认第一个学生的成绩最高      
  41.     int k=0;    
  42.     for(int i=1;i<5;i++)    
  43.        if(arr[i].getScore()>max_score)//arr[i].还可以写作(*(arr+i)).--不能是*(arr+i).;或者用(arr+i)->,下面的语句类似      
  44.        {    
  45.            max_score=arr[i].getScore();//arr[i].还可以写作(*(arr+i)).-      
  46.            k=i;    
  47.        }    
  48.        return arr[k].getNum();//或者是(*(arr+k)).getNum()      
阅读更多
文章标签: system
上一篇实验报告5-2
下一篇实验报告
想对作者说点什么? 我来说一句

vc大作业1 实验报告

2009年06月19日 170KB 下载

求解线性方程组直接法 实验

2010年04月26日 46KB 下载

ERDAS实验报告 ERDAS实验报告

2009年11月04日 7.04MB 下载

DSP实验报告DSP实验报告

2009年06月01日 2.14MB 下载

PROTEL实验报告

2009年06月16日 874KB 下载

软件工程实验报告 集中

2011年06月01日 295KB 下载

云计算实验报告

2017年12月29日 5.94MB 下载

没有更多推荐了,返回首页

关闭
关闭