C 习题与解析(类和对象-09)

文章作者 100test 发表时间 2007:03:10 16:59:42
来源 100Test.Com百考试题网


题19.编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。
解:
设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在main()函数中定义了一个对象数组用于存储输入的学生数据。
本题程序如下:
#include
#include
#define N 3
class Stud
{
int no.
char name[10].
int deg.
static int num.
static 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=\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).
st[i].setdata(n,na,d).
}
printf("输出数据\n").
printf(" 学号 姓名 成绩\n").
for(i=0.ist[i].disp().
printf(" 平均分=%g\n\n",Stud::avg()).
}

本程序的执行结果如下:
输入学号 姓名 成绩: 1 stud1 89
输入学号 姓名 成绩: 2 stud2 78
输入学号 姓名 成绩: 3 stud 84
输出数据
学号 姓名 成绩
1 stud1 89
2 stud2 78
3 stud3 84
平均分=83



相关文章


[二级C试题天天练]C语言考试试题6
C 习题与解析(引用-01)
[二级C试题天天练]C语言考试试题4
C 习题与解析(类和对象-09)
[二级C试题天天练]C语言考试试题5
[二级C试题天天练]C语言考试试题3
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛