prog14.cpp

来自「C++语言程序设计题典」· C++ 代码 · 共 76 行

CPP
76
字号
#include <iostream.h>
#include <iomanip.h>
#define Max 20
class English
{
	int ptr;
	int score[Max];
public:
	void getdata(int val,int ptr) { score[ptr]=val; }
	int disp(int ptr) { return score[ptr]; }
};
class Computer
{
	int ptr;
	int score[Max];
public:
	void getdata(int val,int ptr) { score[ptr]=val; }
	int disp(int ptr) { return score[ptr]; }
};
class Chinese
{
	int ptr;
	int score[Max];
public:
	void getdata(int val,int ptr) { score[ptr]=val; }
	int disp(int ptr) { return score[ptr]; }
};
class Student:private English,private Computer,private Chinese
{
	char name[Max][10];
	int average[Max];
public:
	void getdata(int index)
	{
		int score1,score2,score3;
		for (int i=0;i<index;i++)
		{
			average[i]=0;
			cout << "学生姓名:";
			cin >> name[i];
			cout << "英语 计算机 中文成绩:";
			cin >> score1 >> score2 >> score3;
			average[i]+=score1;
			average[i]+=score2;
			average[i]+=score3;
			English::getdata(score1,i);
			Computer::getdata(score2,i);
			Chinese::getdata(score3,i);
			average[i]/=3;
		}
	}
	void disp(int index)
	{
		cout << "输出结果:" << endl;
		cout << "     姓名     英语  计算机  中文  平均分" << endl;
		for (int i=0;i<index;i++)
		{
			cout << setw(10) << name[i] << " ";
			cout << setw(6) << English::disp(i) << " ";
			cout << setw(6) << Computer::disp(i) << " ";
			cout << setw(6) << Chinese::disp(i) << " ";
			cout << setw(6) << average[i] << endl;
		}
		cout << endl;
	}
};
void main()
{
	Student A;
	int num;
	cout << "学生人数:";
	cin >> num;
	A.getdata(num);
	A.disp(num);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?