是小狐狸啊 2016-05-23 15:32 采纳率: 63.6%
浏览 1492
已采纳

C++ 如何使用类的方法打印最高成绩的学生数据

//打印3个学生平均成绩以及最高成绩学生数据
/*以下程序只实现了打印3个学生平均成绩,我希望可以打印成绩最高的学生的一切数据,包括学号,姓名,三门成绩及平均成绩,可以在类里写函数实现吗?可以的话,这个函数要怎么写呢?求大神赐教哦~*/
#include"stdafx.h";
#include<iostream>
#include<cmath>
using namespace std;
class Student{
public:
        void input();
        void print();
        float get_average();
private:
        char num[8];
        char name[8];
        float score[3];
};

void Student::input()
{
        cout<<"请输入学号:";
        cin>>num;
        cout<<"请输入姓名:";
        cin>>name;
        cout<<"请输入三门课程的成绩:";
        for(int i=0;i<3;i++)
                cin>>score[i];
}
float Student::get_average()
{
        return (score[0]+score[1]+score[2])/3;
}
void Student::print()
{
        cout<<get_average();
}
int main(int argc, char* argv[])
{
        Student stu[3];
    for(int i=0;i<3;i++)
    {
                stu[i].input();
        }
        for( i=0;i<3;i++)
    {
                stu[i].print();
            cout<<" ";
        }
        system("pause");
        return 0;
}
  • 写回答

5条回答

  • threenewbee 2016-05-23 15:42
    关注
     根据你的思路,不应该写在类里,因为你的类表示单个学生,而求学生成绩最大值不属于任何一个学生,而是一个总的任务。
    非要作为成员函数也不是不可以,但是很牵强
    int getmax(Student stu[], int n)
    {
    int x = 0;
    for (int i = 1; i < n; i++)
    {
    if (stu[i].get_average() > stu[x].get_average()) x = i;
    }
    return x;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题