面向对象程序设计C试验题目docWord格式.docx
- 文档编号:21031418
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:81
- 大小:39.31KB
面向对象程序设计C试验题目docWord格式.docx
《面向对象程序设计C试验题目docWord格式.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C试验题目docWord格式.docx(81页珍藏版)》请在冰豆网上搜索。
5000.01〈--月薪和缺勤天数
输出样例:
4772.73
提示:
1.计算管理人员、销售人员、计件工人、计时工人的月工资的函数原型可以分别设计如下:
doublegetEarning(doublesalary,intabsenceDays);
doublegetEarning(doublebaseSalary,doublesalesSum,doublerate);
doublegetEarning(intworkPieces,doublewagePerPiece);
doublegetEarning(doublehours,doublewagePerHour);
2.菜单程序设计如下:
intmain()
{
...
cout<
<
"
Pleaseselect..."
<
endl;
1:
Manager."
2:
SalesMan."
3:
PiecesWorker."
4:
Hour-Worker."
Others:
Quit"
cin>
>
sel;
switch(sel)
{
case1:
...;
getEarning(...);
break;
case2:
case3:
case4:
default:
break;
}
return0;
}
来源:
#include<
iostream>
usingnamespacestd;
doublegetEarning(doublesalary,intabsenceDays)
return(salary-salary*absenceDays/22);
}//admin
doublegetEarning(doublebaseSalary,doublesalesSum,doublerate)
return(baseSalary+salesSum*rate);
doublegetEarning(intworkPieces,doublewagePerPiece)
return(workPieces*wagePerPiece);
doublegetEarning(doublehours,doublewagePerHour)
return(hours*wagePerHour);
intkind=0;
kind;
switch(kind)
doublesalary;
intabDays;
cin>
salary>
abDays;
cout<
getEarning(salary,abDays);
doublebase;
doublesalesSum;
doublerate;
base>
salesSum>
rate;
getEarning(base,salesSum,rate);
intworkPieces;
doublewagePerPiece;
workPieces>
wagePerPiece;
getEarning(workPieces,wagePerPiece);
doublehours;
doublewagePerHour;
hours>
wagePerHour;
getEarning(hours,wagePerHour);
//cout<
getEarning(100.0,11);
getEarning(100.0,10.0,0.1);
getEarning(100,0.2);
getEarning(200,0.3);
return0;
2.引用传递
设计一个函数,将两个浮点数传入,然后通过引用把其和、差、积传出。
函数原型如下:
voidMath(floata,floatb,float&
sum,float&
sub,float&
pro);
输入两个浮点数
输出两个浮点数的和、差、积。
6.52.3
8.84.214.95
voidMath(floata,floatb,float&
sum,float&
sub,float&
pro)
sum=a+b;
sub=a-b;
pro=a*b;
floatsum=0;
floatsub=0;
floatpro=0;
floata=0;
floatb=0;
a>
b;
Math(a,b,sum,sub,pro);
sum<
"
sub<
pro<
endl;
3.函数模板
设计一个函数模板,实现两个同类型数据的交换。
将设计好的函数模板分别实例化为两个整型数交换、两个字符交换的模板函数,调用这些函数并输出运行结果。
分别输入两个整型数和两个字符
分别输出两个整型数和两个字符交换的结果
59
95
template<
classT>
Tcg(T&
a,T&
b)
Tc;
c=a;
a=b;
b=c;
inta=0;
intb=0;
charc=0;
chard=0;
b>
c>
d;
cg(a,b);
cg(c,d);
a<
b<
endl<
c<
d<
4.默认形参值
设计一个求空间两点距离的函数,要求第2个点的默认值为坐标原点。
两个点的坐标。
输出第一个点与原点之间的距离及输入的两个点之间的距离。
111
555
1.73205
6.9282
函数原型可设计如下:
float
distance(floatx1,floaty1,floatz1,floatx2=0,floaty2=0,floatz2=0);
cmath>
floatdistance(floatx1,floaty1,floatz1,floatx2=0,floaty2=0,floatz2=0)
returnsqrt(pow(x1-x2,2)+pow(y1-y2,2)+pow(z1-z2,2));
floatx1=0;
floatx2=0;
floaty1=0;
floaty2=0;
floatz1=0;
floatz2=0;
x1>
y1>
z1>
x2>
y2>
z2;
distance(x1,y1,z1)<
distance(x1,y1,z1,x2,y2,z2)<
实习三
类的定义_静态常量
设计并实现一个圆柱类Cylinder,要求:
(1)设计两个double型的私有数据成员:
高度height和底圆半径radius。
(2)设计一个double型的公有静态常量数据成员pi(其值初始化为3.1415926),以及一个获取该常量的公有静态成员函数GetPI。
(3)在构造函数的初始化列表中初始化高度height和底圆半径radius。
(4)设计用于获取半径的成员函数GetRadius、获取高度的成员函数GetHeight、设置半径的成员函数SetRadius、设置高度的成员函数SetHeight。
(5)设计用于计算圆柱体积的成员函数Volume()、计算圆柱表面积的成员函数Area。
在main函数中:
根据输入的高度和半径构造圆柱对象,并输出圆柱的基本信息、体积和表面积。
圆柱的高度和底圆半径
圆周率pi、圆柱高度、底圆半径、圆柱的体积和表面积
2.01.0
pi=3.14159,height=2,radius=1:
volume=6.28319,area=18.8496
#include<
classCylinder
private:
doubleheight,radius;
public:
staticconstdoublePi=3.1415926;
Cylinder(doublea=0,doubleb=0)
height=a;
radius=b;
doubleGetPI()
returnPi;
voidGetRadius()
radius;
voidGetHeight()
height;
doubleSetRadius()
returnradius;
doubleSetHeight()
returnheight;
doubleVolume()
returnPi*radius*radius*height;
doubleArea()
return2*Pi*radius*height+2*Pi*radius*radius;
};
Cylindery;
y.GetHeight();
y.GetRadius();
pi="
y.GetPI()<
"
;
height="
y.SetHeight()<
radius="
y.SetRadius()<
:
;
volume="
y.Volume()<
area="
y.Area()<
类的定义_深拷贝
设计并实现一个动态整型数组类Vect,要求:
(1)实现构造函数重载,可以根据指定的元素个数动态创建初始值为0的整型数组,或根据指定的内置整型数组动态创建整型数组。
(2)设计拷贝构造函数和析构函数,注意使用深拷贝。
(3)设计存取指定位置的数组元素的公有成员函数,并进行下标越界,若越界则输出“outofboundary”。
(4)设计获取数组元素个数的公有成员函数。
(5)设计用于输出数组元素的公有成员函数,元素之间以空格分隔,最后以换行符结束。
在main函数中按以下顺序操作:
(1)根据内置的静态整型数组{1,2,3,4,5}构造数组对象v1,根据输入的整型数构造数组对象v2。
(2)调用Vect的成员函数依次输出v1和v2的所有元素。
(3)输入指定的下标及对应的整型数,设置数组对象v1的指定元素。
(4)根据数组对象v1拷贝构造数组对象v3。
(5)调用Vect的成员函数依次输出v1和v3的所有元素。
用于构建数组对象v2的元素个数
用于设置数组对象v1的指定下标及元素值
数组对象v1和v2的所有元素
数组对象v1和v3的所有元素
10
66
12345
0000000000
outofboundary
classVect
Vect(intn=0);
Vect(intarr[],intn);
Vect(constVect&
v);
~Vect();
intSize()
returnarrSize;
intGetData(inti)
if(i<
0||i>
=arrSize)
outofboundary"
else
returnarrData[i];
voidSetData(inti,intval)
arrData[i]=val;
voidPrintData()
if(arrSize>
0)cout<
arrData[0];
for(inti=1;
i<
arrSize;
i++)
arrData[i];
intarrSize;
int*arrData;
Vect:
Vect(intn):
arrSize(n)
arrData=newint[arrSize];
for(inti=0;
arrData[i]=0;
Vect(intarr[],intn):
arrData[i]=arr[i];
Vect(constVect&
v):
arrSize(v.arrSize)
arrData[i]=v.arrData[i];
~Vect()
if(arrData)
delete[]arrData;
arrSize=0;
intarr[]={1,2,3,4,5};
intn;
n;
Vectv1(arr,5),v2(n);
v1.PrintData();
v2.PrintData();
inti,data;
i>
data;
v1.SetData(i,data);
Vectv3(v1);
v3.PrintData();
实验四继承和派生
虚基类
(1)定义人员类Person:
公有成员:
姓名(Name);
保护成员:
性别(Gender),年龄(Age);
构造函数和析构函数
(2)从人员类Person派生学生记录类StudentRecord:
添加公有成员:
学号(Number),班级(ClassName),
添加静态公有成员:
学生总人数(TotalCount);
添加保护成员:
平均成绩(Score);
实现构造函数和析构函数。
(3)从人员类Person派生教师记录类TeacherRecord:
学院(CollegeName),系(DepartmentName);
教龄(Year);
(4)从学生记录类StudentRecord和教师记录类TeacherRecord派生学生助教类TeachingAssistant:
辅导课程(LectureName);
实现公有函数:
显示人员信息(Show),屏幕打印姓名,性别,年龄,学号,班级,学生总人数,平均成绩,学院,系,教龄,辅导课程。
为检验类间结构设计是否正确,设计函数voidSetName(Stringname)实现更改一名助教的姓名的功能。
创建一个助教类的对象
助教
姓名性别年龄学号班级平均成绩学院系教龄辅导课程
郑七男222010123软2010189
信息软件
1数据结构
显示其信息。
调用更改姓名的函数,更改其姓名为“郑八”,并再次显示其信息。
无
显示构造的信息和更改前和更改后的助教信息
Person郑七constructed
Student郑七constructed
teacher郑七constructed
teachingassistant郑七constructed
Name:
郑七Gender:
男Age:
22Number:
2010123ClassName:
软20101TotalCount:
1Score:
8
9CollegeName:
信息DepartmentName:
软件Year:
1LectureName:
数据结构
郑八Gender:
teachingassistant郑八destructed
teacher郑八destructed
Student郑八destructed
Person郑八destructed
各类的构造函数和析构函数都有输出。
调用公有函数Show,以分别显示各个记录的人员信息。
在派生助教类时,使用虚基类。
cstring>
classPerson
protected:
stringGender;
intAge;
public:
stringName;
Person(stringgender,intage,stringname)
Gender=gender;
Age=age;
//Name=newchar[strlen(name)+1];
//strcpy(Name,name);
Name=name;
Person"
Name<
constructed"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 试验 题目 doc