输出最大值 分数 15 作者 范鹏程 单位 内蒙古师范大学 根据给定的程序,写成相关的成员函数,完成指定功能。 函数接口定义: 定义max函数,实现输出最高成绩对应的学号以及最高成绩值。 裁判测试程序样例:
时间: 2023-05-24 21:06:07 浏览: 190
#include<iostream>
#include<string>
using namespace std;
class Student {
private:
int id;
string name;
float score;
public:
void setValue(int id,string name,float score); //设置学生信息
void display(); //输出学生信息
int getId(); //获取学号
float getScore(); //获取成绩
};
void Student::setValue(int id,string name,float score){
this->id=id;
this->name=name;
this->score=score;
}
void Student::display(){
cout<<"学号:"<<id<<"\t姓名:"<<name<<"\t成绩:"<<score<<endl;
}
int Student::getId(){
return id;
}
float Student::getScore(){
return score;
}
class Grade {
private:
Student *stu;
int num;
public:
Grade(int n); //构造函数
~Grade(); //析构函数
void setValue(); //设置学生信息
void display(); //输出学生信息
void max(); //输出最高分对应的学号以及分数
};
Grade::Grade(int n){
num=n;
stu=new Student[n];
}
Grade::~Grade(){
delete []stu;
}
void Grade::setValue(){
int id;
string name;
float score;
for(int i=0;i<num;i++){
cin>>id>>name>>score;
stu[i].setValue(id,name,score);
}
}
void Grade::display(){
for(int i=0;i<num;i++){
stu[i].display();
}
}
void Grade::max(){
int id;
float score=0;
for(int i=0;i<num;i++){
if(stu[i].getScore()>score){
score=stu[i].getScore();
id=stu[i].getId();
}
}
cout<<"最高分对应的学号为:"<<id<<" "<<"最高分为:"<<score<<endl;
}
int main(){
int num;
cin>>num;
Grade grade(num);
grade.setValue();
grade.display();
grade.max();
return 0;
}
阅读全文