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 + -
显示快捷键?