prog20.cpp
来自「C++语言程序设计题典」· C++ 代码 · 共 52 行
CPP
52 行
#include <stdio.h>
#include <string.h>
#define N 4
class student
{
int no;
char name[10];
int deg1; //语文成绩
int deg2; //数学成绩
int deg3; //英语成绩
static int sum1; //语文总分
static int sum2; //数学总分
static int sum3; //英语总分
public:
student(int n,char na[],int d1,int d2,int d3)
{
no=n;
strcpy(name,na);
deg1=d1;deg2=d2;deg3=d3;
sum1+=deg1;sum2+=deg2;sum3+=deg3;
}
double avg1() { return (sum1*1.0)/N; }
double avg2() { return (sum2*1.0)/N; }
double avg3() { return (sum3*1.0)/N; }
void disp()
{
printf(" %4d%10s%6d%6d%6d\n",no,name,deg1,deg2,deg3);
}
};
int student::sum1=0;
int student::sum2=0;
int student::sum3=0;
void main()
{
double (student::*fp)(); //定义成员函数指针
student s1(1,"Li",67,89,90);
student s2(2,"Ma",67,89,90);
student s3(3,"Zheng",67,89,90);
student s4(4,"Chen",67,89,90);
printf("输出结果\n");
s1.disp();
s2.disp();
s3.disp();
s4.disp();
fp=student::avg1;
printf(" 语文平均分:%g\n",(s1.*fp)());
fp=student::avg2;
printf(" 数学平均分:%g\n",(s1.*fp)());
fp=student::avg3;
printf(" 英语平均分:%g\n",(s1.*fp)());
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?