欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c++代码9

程序员文章站 2022-07-13 23:46:06
...

9.设计评选优秀教师和优秀学生候选人的程序。如果学生的分数大于 90,则可评为优秀生;如果教师发 表的论文数大于 3,则可评为优秀教师。具体要求如下:
(1)定义基类Base:
①保护数据成员  char name[8]; //存放姓名
 int num; //存放分数或论文数
②公有成员函数  Base( ): 构造函数,输入姓名;
 void print( ):功能函数,输出数据成员;
 virtual int Isgood( )=0:纯虚函数,用于判断是否满足条件;
(2)由基类派生学生类Student,定义公有成员函数:
 Student ( ): 构造函数,输入分数;
 int Isgood( ):根据优秀学生的标准,满足条件返回1,否则返回0; (3)由基类派生教师类Teacher,定义公有成员函数:
 Teacher ( ): 构造函数,输入论文数;
 int Isgood( ):根据优秀教师的标准,满足条件返回1,否则返回0; (4)在主函数中定义学生数组和教师数组,输入一系列教师或学生的记录后,将优秀教师及学生候选 人的情况列出来,并体现运行的多态性。

#include<iostream>
using namespace std;
class Base{
protected:
	char name[8]; 
	int num; 
public :
	Base( ){
		cout<<"姓名:"; 
		cin>>name;
	}
	void print( ){
		cout<<"姓名:"<<name<<'\t'<<num<<'\n'; 
	}
	virtual int Isgood( )=0; 
}; 
class Student:public Base{
public :
	Student( )	{
		cout<<"考试成绩:";
		cin>>num;
	}
	int Isgood( ){
		return (num>90)?1:0;
	}
}; 
class Teacher:public Base{
public : 
	Teacher( ){
		cout<<"每年发表论文数:";
		cin>>num;
	}
	int Isgood( ){
		return (num>3)?1:0;
	}
}; 
int main( ){
	cout<<"请输入学生情况:\n";
	Student s[5]; 
	cout<<"\n请输入教师情况:\n";
	Teacher t[5];
	cout<<"\n优秀学生候选人:\n";
	int i;
	Base *p;
	for(i=0,p=s;i<5;i++,p++)
		if(p->Isgood())p->print();
	cout<<"\n优秀教师候选人:\n";
	for(i=0,p=t;i<5;i++,p++)
		if(p->Isgood())p->print();
}