*1. 编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。
*2.编写一个程序计算出球、圆柱和圆锥的表面积和体积。
要求:
(1)定义一个基类圆,至少含有一个数据成员半径;
(2)定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。
//第一题,后附测试结果
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
class person
{
public:
void in_nm();
void in_id();
void ou_nm();
void ou_id();
private:
string id;
string name;
};
class student:public person
{
public:
void in_clsid();
void in_sc();
void ou_clsid();
void ou_sc();
private:
string cls_id;
float score;
};
class teacher:public person
{
public:
void in_zc();
void in_dp();
void ou_zc();
void ou_dp();
private:
string zc;
string depart;
};
void person::in_nm()
{
cout<<"请输入姓名:"<<endl;
cin>>name;
}
void person::in_id()
{
cout<<"请输入编号:"<<endl;
cin>>id;
}
void person::ou_nm()
{
cout<<"姓名为:"<<name<<endl;
}
void person::ou_id()
{
cout<<"编号为:"<<id<<endl;
}
void student::in_clsid()
{
cout<<"请输入学生班级:"<<endl;
cin>>cls_id;
}
void student::in_sc()
{
cout<<"请输入学生分数:"<<endl;
cin>>score;
}
void student::ou_clsid()
{
cout<<"学生班级为:"<<cls_id<<endl;
}
void student::ou_sc()
{
cout<<"学生分数为:"<<score<<endl;
}
void teacher::in_zc()
{
cout<<"请输入教师职称:"<<endl;
cin>>zc;
}
void teacher::in_dp()
{
cout<<"请输入教师部门:"<<endl;
cin>>depart;
}
void teacher::ou_zc()
{
cout<<"教师职称为:"<<zc<<endl;
}
void teacher::ou_dp()
{
cout<<"教师部门为:"<<depart<<endl;
}
int main()
{
student stu;
cout<<"开始输入学生信息:"<<endl;
stu.in_nm();
stu.in_id();
stu.in_clsid();
stu.in_sc();
cout<<"显示学生信息:"<<endl;
stu.ou_nm();
stu.ou_id();
stu.ou_clsid();
stu.ou_sc();
cout<<endl;
teacher tch;
cout<<"开始输入教师信息:"<<endl;
tch.in_nm();
tch.in_id();
tch.in_zc();
tch.in_dp();
cout<<"显示教师信息:"<<endl;
tch.ou_nm();
tch.ou_id();
tch.ou_zc();
tch.ou_dp();
cout<<endl;
system("pause");
return 0;
}
第二题:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
//常量圆周率
const double PI=3.14159;
class circle
{
public:
void in_rad()
{
cout<<"输入半径:"<<endl;
cin>>rad;
}
protected:
float rad; //半径
};
class ball:public circle
{
public:
void in_rad()
{
cout<<"输入球半径:"<<endl;
cin>>rad;
}
void calc_sur()
{
sur=4*PI*rad*rad;
}
void calc_vol()
{
vol=4/3.0*PI*rad*rad*rad;
}
void out_sur()
{
cout<<"球的表面积为:"<<sur<<endl;
}
void out_vol()
{
cout<<"球的体积为:"<<vol<<endl;
}
private:
double sur; //表面积
double vol; //体积
};
//圆柱
class column:public circle
{
public:
void in_rad()
{
cout<<"输入圆柱半径:"<<endl;
cin>>rad;
}
void in_height()
{
cout<<"输入圆柱高:"<<endl;
cin>>height;
}
void calc_sur()
{
sur=PI*rad*rad+2*PI*rad*height;
}
void calc_vol()
{
vol=PI*rad*rad*height;
}
void out_sur()
{
cout<<"圆柱的表面积为:"<<sur<<endl;
}
void out_vol()
{
cout<<"圆柱的体积为:"<<vol<<endl;
}
private:
double sur; //表面积
double vol; //体积
double height; //高
};
//圆锥
class cone:public circle
{
public:
void in_rad()
{
cout<<"输入圆锥半径:"<<endl;
cin>>rad;
}
void in_height()
{
cout<<"输入圆锥高:"<<endl;
cin>>height;
}
void calc_sur()
{
sur=0.5*PI*rad*rad*2*PI*rad*height;
}
void calc_vol()
{
vol=1/3.0*PI*rad*rad*height;
}
void out_sur()
{
cout<<"圆锥的表面积为:"<<sur<<endl;
}
void out_vol()
{
cout<<"圆锥的体积为:"<<vol<<endl;
}
private:
double sur; //表面积
double vol; //体积
double height;
};
int main()
{
cout<<"球:"<<endl;
ball oball;
oball.in_rad();
oball.calc_sur();
oball.calc_vol();
oball.out_sur();
oball.out_vol();
cout<<endl;
cout<<"圆柱:"<<endl;
column ocol;
ocol.in_rad();
ocol.in_height();
ocol.calc_sur();
ocol.calc_vol();
ocol.out_sur();
ocol.out_vol();
cout<<endl;
cout<<"圆锥:"<<endl;
cone ocone;
ocone.in_rad();
ocone.in_height();
ocone.calc_sur();
ocone.calc_vol();
ocone.out_sur();
ocone.out_vol();
cout<<endl;
system("pause");
return 0;
}