//打印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;
}
C++ 如何使用类的方法打印最高成绩的学生数据
- 写回答
- 好问题 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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab实现基于主成分变换的图像融合。
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊