按照下列要求实现一个有关学生成绩的操作:

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:02:13
按照下列要求实现一个有关学生成绩的操作:
该结构名为Student。
(1)每个学生的信息包含有姓名(字符数组)和成绩(int型)。
(2)共有5个学生,用结构数组表示。
(3)计算出5个学生中的最高分,并输出姓名及分数。
(用类和对象)

#include<iostream>
using namespace std;
class student{
private:
char name[20];//姓名
int grade;//成绩
public:
void setname(char *str){strcpy(name,str);}
char *getname(){return name;}
int getgrade(){return grade;}
void setgrade(int g){grade=g;}
};

int main()
{
char name[20];
int g;
student stu[5];
int maxgrade,i,maxid; //maxgrade:记录成绩最高学生的成绩
// maxid:记录成绩最高学生在数组中的编号

//以下for语句是输入五个学生的信息
for(i=0;i<5;i++)
{
cin>>name;
stu[i].setname(name);
cin>>g;
stu[i].setgrade(g);
}

//求成绩最高学生的编号,放在maxid中
maxid=0;
maxgrade=stu[0].getgrade();
for(i=1;i<5;i++)
{
if(stu[i].getgrade()>maxgrade)
{
maxgrade=stu[i].getgrade();;
maxid=i;
}
}
//输出姓名及分数
cout<<"The student name is "<<stu[maxid].getna