C++习题与解析(类和对象

C++习题与解析(类和对象,第1张

C++习题与解析(类和对象,第2张

问题19。写一个程序,输入N个学生数据,包括学号,姓名,成绩,要求输出这些学生数据,计算平均分。
解决方案:
设计一个学生Stud,包含no(学号)、name(姓名)和deg(年级)数据成员。有两个静态变量sum和num,分别存储总分和人数,还有两个常用的成员函数setdata()和disp(),分别用来赋值和输出数据成员的值。在main()函数中定义了一个对象数组来存储输入的学生数据。
这个问题的过程如下:
# include
# include
# define n3
class stud
{
int no;
char name[10];
int deg;
静态整数;
静态int sum
public:
void setdata(int n,char na[],int d)
{
no = n;deg = d;
strcpy(name,na);
sum+= d;
num++;
}
static double avg()
{
return sum/num;
}
void disp()
{
printf(" %-5d %-8s % 3d \ n ",no,name,deg);
}
};
int Stud::sum = 0;
int Stud::num = 0;

void main()
{
Stud ST[N];
int i,n,d;
char na[10];
for(I = 0;I{
printf("输入学号、姓名、年级:");
scanf("%d%s%d ",&n,na,& d);[br/]ST[I]。setdata(n,na,d);
}
printf(" output data \ n ");
printf("学号,姓名和年级\ n ");
for(I = 0;ist[i]。disp();
printf("平均分=%g\n\n ",Stud::avg());
}

这个程序的执行结果如下:
输入学号:1 stud1 89
输入学号:2 stud2 78
输入学号:3 stud 84
输出数据
学号:1stud1 88

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++习题与解析(类和对象

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情