C++实验题---填空(求对象的全部数据)
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:152 测试通过:77
总提交:152 测试通过:77
描述
仔细阅读以下程序,理解程序的主要功能,正确补充空白处的语句,空白处可能是一条语句或多条语句,也可能是一个表达式,严禁改动给出程序代码的段落、修改、移动、注释掉给出的程序代码,若有改动、修改或注释掉给出程序的任何一处该题记0分。并编译运行测试通过后进行提交,否则提交错一次扣1分,扣完为止。
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student(int,string,float);
___________________
protected:
int num;
string name;
float score;
};
Student::Student(int n,string nam,float s)
{
num=n;name=nam;score=s;
}
void Student::display()
{
cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n";
}
___________________
{
public:
Graduate(int,string,float,float);
void display();
private:
float pay;
};
___________________
{
cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl;
}
Graduate::Graduate(int n,string nam,float s,float p):Student(n,nam,s),pay(p){}
int main()
{
int no;string name;float score,pay;
while(cin>>no>>name>>score>>pay)
{
Student stud1(no,name,score);
Graduate grad1(no,name,score,pay);
Student *pt=&stud1;
pt->display();
pt=&grad1;
pt->display();
}
return 0;
}
输入
输入有多组测试数据,每行为一组测试数据,用空格隔开。
输出
根据程序代码输出相应的信息。
样例输入
1001 Li 87.5 1200
2001 Wang 98.5 2450
2001 Wang 98.5 2450
样例输出
num:1001
name:Li
score:87.5
num:1001
name:Li
score:87.5
pay=1200
num:2001
name:Wang
score:98.5
num:2001
name:Wang
score:98.5
name:Li
score:87.5
num:1001
name:Li
score:87.5
pay=1200
num:2001
name:Wang
score:98.5
num:2001
name:Wang
score:98.5
pay=2450
代码如下:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student(int,string,float);
virtual void display();
protected:
int num;
string name;
float score;
};
Student::Student(int n,string nam,float s)
{
num=n;
name=nam;
score=s;
}
void Student::display()
{
cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n";
}
class Graduate:public Student
{
public:
Graduate(int,string,float,float);
virtual void display();
private:
float pay;
};
void Graduate::display()
{
cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl;
}
Graduate::Graduate(int n,string nam,float s,float p):Student(n,nam,s),pay(p) {}
int main()
{
int no;
string name;
float score,pay;
while(cin>>no>>name>>score>>pay)
{
Student stud1(no,name,score);
Graduate grad1(no,name,score,pay);
Student *pt=&stud1;
pt->display();
pt=&grad1;
pt->display();
}
return 0;
}