上机考试综合应用题Word下载.docx

上传人:b****6 文档编号:19040651 上传时间:2023-01-03 格式:DOCX 页数:39 大小:25.99KB
下载 相关 举报
上机考试综合应用题Word下载.docx_第1页
第1页 / 共39页
上机考试综合应用题Word下载.docx_第2页
第2页 / 共39页
上机考试综合应用题Word下载.docx_第3页
第3页 / 共39页
上机考试综合应用题Word下载.docx_第4页
第4页 / 共39页
上机考试综合应用题Word下载.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

上机考试综合应用题Word下载.docx

《上机考试综合应用题Word下载.docx》由会员分享,可在线阅读,更多相关《上机考试综合应用题Word下载.docx(39页珍藏版)》请在冰豆网上搜索。

上机考试综合应用题Word下载.docx

str[i]!

=0;

i++)

m_str[i]=str[i];

//********4********

private:

charm_str[32];

voidmain()

{

NameCtrl*p;

AnimalNameobj1("

Dog"

);

p=&

obj1;

p->

GetName();

cout<

obj1.GetName2()<

return;

}

2.按要求完成下列操作,将类的定义补充完整。

(1)定义私有数据成员year,month.Day,分别用于年、月、日,它们都是int型的数据,请在注释//******1******后添加适当的语句。

(2)完成判断数据成员date2是否四闰年函数intDate:

:

IsLeapYear()的定义,返回数据成员data2是否是闰年的值,是则返回1,否则返回0。

请在注释//******2******后添加适当的语句。

(3)设置SetData()的默认时间为2004-12-1,请在注释//******3******后添加适当的语句。

(4)完成主函数main(),完成输出date2isaleapyear,请在注释//******4******后添加适当的语句。

提示:

公元纪年的年数可以被四整除,即为闰年;

被100整除儿不能被400整除为平年;

被100整除也可被400整除的为闰年。

iostream>

usingnamespacestd;

classDate

voidSetDate(inty,intm,intn);

intIsLeapYear();

voidPrint()

{cout<

year<

"

-"

<

month<

day<

endl;

voidDate:

SetDate(inty,intm,intd)

year=y;

month=m;

day=d;

intDate:

IsLeapYear()

return

intmain()

Datedate1,date2;

date1.SetDate();

date2.SetDate(2004,12,1);

cout<

date1:

;

date1.Print();

date2:

date2.Print();

//********4********

date2is"

("

not"

)<

aleapyear."

return0;

3.按要求完成下列操作,将类的定义补充完整。

(1)定义类的公有数据成员函数No、Name[32],其中No是int型的数据,Name[32]为字符型。

(2)完成函数set的定义,分布设置No和Name的值,请在注释//******2******后添加适当的语句。

(3)完成函数print(),请在注释//******3******后添加适当的语句。

(4)加缺省构造函数,设置No为0,Name为空,请在注释//******4******后添加适当的语句。

#include<

classStudent

No=no;

for(inti=0;

strName[i]!

i++)

{

Name[i]=strName[i];

Name[i+1]=0;

}

voidprint()

//********3********

Student()

Studentstu;

stu.Set(125,"

XiaoXin"

stu.print();

4.源程序文件中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。

游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。

请按要求完成下列操作,将程序补充完整。

(1)定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。

请在注释"

//**1**"

之后添加适当的语句。

(2)定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。

请在注释"

//**2**"

之后添加适当的语句;

(3)完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。

//**3**"

(4)完成Money类成员函数floatMoney:

TotalMoney(floatfencelen,floatconarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。

//**4**"

除在指定位置添加语句之外,请不要改动程序中的其他内容。

//**1**

classCircle

floatradius;

//**2**

floatCircumference(){return2*PI*radius;

floatArea(){returnPI*radius*radius;

classMoney

floatFencePrice;

floatConcretePrice;

Money(floatf,floatc);

floatTotalMoney(floatfencelen,floatconarea);

Money:

Money(floatf,floatc)

//**3**

floatMoney:

TotalMoney(floatfencelen,floatconarea)

//**4**

floatradius,fence,concrete;

cout.setf(ios:

fixed);

showpoint);

cout.precision

(2);

Entertheradiusofthepool:

cin>

>

radius;

EntertheFencePrice:

fence;

EntertheConcretePrice:

concrete;

CirclePool(radius);

CirclePoolRim(radius+WIDTH);

Moneymon(fence,concrete);

floattotalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area()-Pool.Area()));

ThetotalmoneyisRMB"

totalmoney<

5.按要求完成下列操作,将类的定义补充完整。

(1)完成类Rect的构造函数,实现对遍历left、right、top、bottom的初始化,缺省值都为0,请在注释//******1******后添加适当的语句。

(2)完成类Rectde构造函数,请在注释//******2******后添加适当的语句。

(3)完成计算矩形面积函数Area(),请在注释//******3******后添加适当的语句。

(4)完成计算周长函数Circly(),请在注释//******4******后添加适当的语句。

程序输出:

100

40

classRect

intleft,right,top,bottom;

//********1********

left=l;

right=r;

top=t;

bottom=b;

//********2********

left=rc.left;

right=rc.right;

top=rc.top;

bottom=rc.bottom;

intArea()

return;

intCircly()

return

Rectrc(10,20,40,50);

Rectrc2(rc);

rc2.Area()<

rc2.Circly()<

6.按要求完成下列操作,将类的定义补充完整。

完成以下功能:

(1)完成构造函数,设置数组元素的个数为0,请在注释//******1******后添加适当的语句。

(2)完成函数Add(intn),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释//******2******后添加适当的语句。

(3)完成函数Del(intn),如果变量在数据中,则删除该变量,并且返回1,如果不存在则返回0,请在注释//******3******后添加适当的语句。

(3在完成成员函数isMemberOf(intn)的定义,该函数检查参数n是否在类的数据成员数组elems中,如果在返回1,否则返回0.请在注释//******4******后添加适当的语句。

#defineMAX_LEN1024

classCMyClass

CMyClass()

//********1********

intAdd(intn)

i<

m_Len;

//********2********

if()

return0;

m_Array[m_Len++]=n;

return1;

intDel(intn)

for(i=0;

if(m_Array[i]==n)

{

break;

}

if()

for(;

i<

m_Len-1;

m_Array[i]=m_Array[i+1];

m_Len--;

return1;

return0;

intisMemberOf(intn)

//********4********

return1;

intm_Array[MAX_LEN];

intm_Len;

//Ó

Ã

À

´

¼

Ç

Â

Ê

ý

×

é

µ

Ä

¸

ö

CMyClassobj;

obj.Add

(2);

obj.Add(4);

obj.Add(5);

obj.Add(10);

obj.isMemberOf(4);

obj.isMemberOf(11);

obj.Del(5);

obj.Del

(2);

obj.isMemberOf

(2);

obj.isMemberOf(5);

7.按要求完成下列操作,将类的定义补充完整。

(1)完成构造函数的定义,使得数据成员变量m_filename和m_contex为空,内容长度m_Ctxlen为0.请在注释//******1******后添加适当的语句。

(2)完成函数Write()函数,用来对contex内容进行设置填充内容,如果以前有内容,则删除以前的内容,重新填写。

(3)完成Copy函数,完成将Source的内容拷贝到当前的文件内容中,请在注释//******3******后添加适当的语句。

(4)完成析构函数,对Contex内存的释放。

classCMyFile

charm_filename[64];

char*m_contex;

intm_CtxLen;

CMyFile()

m_contex=NULL;

m_CtxLen=0;

~CMyFile()

if(m_CtxLen)

voidOpen(char*str,intlen)

len;

m_filename[i]=str[i];

m_filename[len]=0;

if(m_contex)

delete[]m_contex;

m_contex=NULL;

voidWrite(char*str,intlen)

if(m_contex!

=NULL)

//********3********

m_contex=newchar[len+1];

m_contex[i]=str[i];

m_contex[len]=0;

m_CtxLen=len;

voidCopy(CMyFile&

file)

CMyFilefile1,file2;

file1.Open("

abc"

3);

file2.Open("

avd"

file1.Write("

dede"

4);

file2.Copy(file1);

8.按要求完成下列操作,将类的定义补充完整。

(1)定义类Cat的保护数据成员itsAge用于表示年龄,它是int型的数据。

(2)完成成员函数GetAge()的类外定义,返回成员的itsAge值,请在注释"

(3)完成成员函数SetAge(intage)的类外定义,把数据成员itsAge赋值为参数age的值,请在注释"

(4)完成成员函数Meow的类外定义,使其输出字符串"

meow."

到屏幕上。

输出结果如下:

meow.

kittyisacatwhois5yearsold.

classCat

intGetAge();

voidSetAge(intage);

voidMeow();

protected:

//**1**

intCat:

GetAge()

//**2**

voidCat:

SetAge(intage)

//**3**

Meow()

Catkitty;

kitty.Meow();

kitty.SetAge(5);

kittyisacatwhois"

kitty.GetAge();

yearsold.\n"

9.源程序运行的结果为:

Derive1’sPrint()called.

Derive2’sPrint()called.

按要求完成下列操作,将类的定义补充完整。

(1)定义函数Print()为无值型纯虚函数。

(2)建立类Derive1的构造函数,请在注释//******2******后添加适当的语句。

(3)完成类Derive2成员函数Print()的定义。

请在注释//******3******后添加适当的语句。

(4)定义类Derivel的对象指针d1,类Derive2的对象指针d2。

其初始化分别为1和2。

classBase

Base(inti){b=i;

intb;

classDerive1:

publicBase

Derive1'

sPrint()called."

classDerive2:

Derive2(inti):

Base(i){}

voidfun(Base*obj){

obj->

Print();

//********4********

fun(d1);

fun(d2);

10.源程序定义了表示人的类Human,但Human的定义并不完整,请按要求完成下列操作,将类Human的定义补充完成:

(1)定义私有数据成员blood_type用于表示血型,血型为char型的数据。

(2)完成默认构造函数的定义,要求具有缺省值,缺省值为身高175体重70血型A。

(3)完成类外Human成员函数SetHuman的定义。

(4)在主函数中调用成员函数SetHuman,把对象d2的三个私有数据成员分别设定为身高172,体重65,血型为O。

classHuman{

intstature,avoirdupois;

:

stature(st),avoirdupois(av),blood_type(bl){

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1