用c++编写一个程序
要求用c++编 展开
楼主稍等片刻,我正在帮你编,快好了,写好后我会将代码献上。
以下是代码:
#include<iostream>
#include<string>
using namespace std;
/*编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,
教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,
并作为学生数据操作类student和教师数据操作类teacher的基类。 */
class person
{
private:
int number; //编号;
string name; //姓名;
public:
person(); //默认构造函数;
person(int num,string nam):number(num),name(nam)
{
} //自定义带参数的构造函数,用于数据的初始化
setdata1()
{
cin>>number>>name; //数据初始化,即用于将编号和姓名输入;
}
string getname()
{
return name; //返回姓名;
}
showdata1()
{
cout<<"编号: "<<number<<" "<<"姓名: "<<name<<endl; //用于将编号和姓名显示;
}
};
class student:public person
{
private:
string class_number; //学生所在的班号班号;
double score; //学生的成绩;
public:
student(); //默认构造函数;
student(string cla_num,double sco,int num,string nam):class_number(cla_num),score(sco),person(num,nam)
{
} //自定义带参数的构造函数,用于数据的初始化;
setdata2()
{ cout<<"请输入编号,姓名,班号,成绩,中间用空格隔开: ";
setdata1();//调用此函数用于输入编号与姓名;
cin>>class_number>>score;//初始化班号与成绩;
}
showdata2()
{
showdata1();//用于显示编号和姓名;
cout<<"班号: "<<class_number<<" 成绩: "<<score<<endl;
}
};
class teacher:public person
{
private:
string title; //职称;
string deparment;//部门;
public:
teacher();//默认构造函数;
teacher(string t,string d,int num,string nam):title(t),deparment(d),person(num,nam)
{
} //自定义带参数的构造函数,用于数据的初始化;
setdata3()
{ cout<<"请输入编号,姓名,职称,部门,中间用空格隔开: ";
setdata1();
cin>>title>>deparment;//数据的初始化;
}
showdata3()
{
showdata1();//用于显示编号和姓名;
cout<<"职称:"<<title<<" 部门: "<<deparment<<endl;
}
};
int main()
{
person p1(2012101,"wang_xiao_lei");
cout<<p1.getname()<<"的信息如下: ";
p1.showdata1();
cout<<"请输入编号与姓名,中间用空格隔开: "; //重置信息;
p1.setdata1();
cout<<endl;
cout<<p1.getname()<<"的信息如下: ";
p1.showdata1();
student s1("wuban",80,2012102,"wang_fen");
cout<<endl;
cout<<s1.getname()<<"的信息如下: ";
s1.showdata2();
s1.setdata2();//重置信息;
cout<<s1.getname()<<"的信息如下: ";
s1.showdata2();
teacher t1("professor","Ministry of Education",2012103,"cai_lei");
cout<<endl;
cout<<t1.getname()<<"的信息如下: ";
t1.showdata3();
t1.setdata3(); //重置信息;
cout<<t1.getname()<<"的信息如下: ";
t1.showdata3();
cout<<"谢谢使用******************************************\n";
return 0;
}
我运行的结果如下,楼主也可以自己运行试一次:
我想这个程序应该能帮到楼主了,呵呵,花了一些时间编写,只为能写得好一些哦。