04.有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。
解:
#include
#include
#include
class student
{
char name[10];
int deg;
char level[7];
public:
student(char na[],int d)
{
strcpy(name,na);
deg=d;
}
char *getname(){ return name;}
friend void trans(student &s)
{
if(s.deg>=90)
strcpy(s.level,"优");
else if(s.deg>=80)
strcpy(s.level,"良");
else if(s.deg>=70)
strcpy(s.level,"中");
else if(s.deg>=60)
strcpy(s.level,"及格");
else
strcpy(s.level,"不及格");
}
void disp()
{
cout<}
};
void main()
{
student st[]={student("王华",78),student("李明",92),student("张伟",62),student("孙强",88)};
cout<<"输出结果:"<cout<for(int i=0;i<4;i++)
{
trans(st[i]);
st[i].disp();
}
}
本程序执行结果如下:
输出结果:
姓名 成绩 等级
王华 78 中
李明 92 优
张伟 62 及格
孙强 88 良