C++基础经典习题Word格式文档下载.docx

上传人:b****3 文档编号:16445456 上传时间:2022-11-23 格式:DOCX 页数:13 大小:19.09KB
下载 相关 举报
C++基础经典习题Word格式文档下载.docx_第1页
第1页 / 共13页
C++基础经典习题Word格式文档下载.docx_第2页
第2页 / 共13页
C++基础经典习题Word格式文档下载.docx_第3页
第3页 / 共13页
C++基础经典习题Word格式文档下载.docx_第4页
第4页 / 共13页
C++基础经典习题Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C++基础经典习题Word格式文档下载.docx

《C++基础经典习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++基础经典习题Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

C++基础经典习题Word格式文档下载.docx

areais:

sum<

endl;

}

intmain()

Rectanglemyrectangle;

doublex1,y1,x2,y2;

"

Pleaseentertwocoordinate:

;

cin>

>

x1>

y1>

x2>

y2;

myrectangle.getarea(x1,y1,x2,y2);

return0;

4.10

#include<

string>

classData{

voidsetdata(intNewy,intNewm,intNewd);

Data(){

m_year=0;

m_mouth=0;

m_day=0;

}

Data(intyear,intmonth,intday):

m_year(year),m_mouth(month),m_day(day)

{}

voidshowDate()

{

cout<

m_year<

_"

<

m_mouth<

m_day<

~Data()

~Data"

intm_year,m_mouth,m_day;

classPerson{

voidaddperson(stringid,stringname,stringsex,stringidcard,Datadata);

voidshowperson();

~Person()

~person"

stringm_id,m_name,m_sex,m_idcard;

Datam_data;

inlinevoidData:

setdata(intNewy,intNewm,intNewd){

m_year=Newy;

m_mouth=Newm;

m_day=Newd;

voidPerson:

addperson(stringid,stringname,stringsex,stringidcard,Datadata){

m_id=id;

m_name=name;

m_sex=sex;

m_idcard=idcard;

m_data=data;

inlinevoidPerson:

showperson(){

m_id<

m_name<

m_sex<

m_idcard<

m_data.showDate();

Persons;

//Datad;

Datad(1990,4,9);

s.addperson("

1"

"

xcyk"

man"

41209040120"

d);

s.showperson();

 

4.12

classDatatype{

Datatype(chara,charb)

intsum=(int)a+(int)b;

sum<

endl;

};

Datatype(inta,intb)

intsum=a+b;

(int)sumis"

Datatype(floata,floatb)

floatsum=a+b;

(float)sumis"

inta=1,b=2;

Datatypesum(a,b);

chara1='

A'

b1='

1'

Datatypesum1(a1,b1);

floata2=3.3,b2=1.11;

Datatypesum2(a2,b2);

4.13Circle

classCircle{

public:

//Circle(){};

//Circle(doubleradius):

m_radius(radius){}

voidgetArea(doubleradius);

constdoublepi=3.14;

doublem_radius;

voidCircle:

getArea(doubleradius)

doubleArea=pi*radius*radius;

Areais:

Area<

//Circlec1

(2);

Circlec1;

c1.getArea

(2);

4.14Tree:

classTree{

Tree(){m_ages=0;

voidgrow(intyear);

voidage();

intm_ages;

voidTree:

grow(intyear)

m_ages=year+m_ages;

age()

ageis:

m_ages<

Treemytree;

mytree.grow(5);

mytree.age();

4.20

classComplex{

Complex(doublea,doubleb)

m_a=a;

m_b=b;

Complex(doublea1)

m_a1=a1;

voidadd(Complexx);

voidshow();

doublem_a,m_a1;

doublem_b;

voidComplex:

add(Complexx)

m_a=m_a+x.m_a1;

show()

m_a<

+"

m_b<

i"

Complexc1(3,5);

Complexc2(4.5);

c1.add(c2);

c1.show();

补充题目:

1、定义一个满足如下要求的Date类

(1)用下面的格式输出日期:

日/月/年

(2)可运行在日期上加一天操作(扩展为若干天,正数负数都行)

(3)设置日期

classDate{

Date(){m_year=1993;

m_mouth=10;

m_day=22;

Date(intyear,intmouth,intday):

m_year(year),m_mouth(mouth),m_day(day){};

voidSetdata(intNewy,intNewm,intNewd);

voidAdddata(intAddD);

voidShowdate();

intm_year;

intm_mouth;

intm_day;

voidDate:

Showdate()

/"

Adddata(intAddD)

if(((AddD+m_day)>

30)&

&

(((AddD+m_mouth*30+m_day)<

=360)))

m_mouth=m_mouth+(m_day+AddD)/30;

m_day=(m_day+AddD)%30;

elseif((AddD+m_mouth*30+m_day)>

360)

m_year=m_year+((AddD+m_mouth*30+m_day))/360;

m_mouth=m_mouth+(((AddD+m_mouth*30+m_day)%360)/30);

m_day=m_day+(((AddD+m_mouth*30+m_day)%360)%30);

elseif(AddD+m_day<

30)

m_day=m_day+AddD;

Setdata(intNewy,intNewm,intNewd)

Datec1;

c1.Showdate();

Datec2(100,1,1);

c2.Showdate();

c2.Setdata(1993,10,22);

c2.Adddata(10);

2、以面向对象的概念设计一个类,此类包含3个私有数据,unlead(无铅汽油).Lead(有铅汽油)以及total(当天总收入),无铅汽油的价格是17/公升,有铅汽油的价格是16元/公升,请以构造函数方式建立此值。

试输入某天所加的汽油值,本程序将列出加油站当天的总收入

classStation{

Station(){m_Lead=16;

m_unLead=17;

m_total=0;

voidAddgas(intLkg,intunLkg);

voidShowtotal();

intm_Lead;

intm_unLead;

intm_total;

voidStation:

Addgas(intLkg,intunLkg)

m_total=m_total+m_Lead*Lkg+m_unLead*unLkg;

Showtotal()

totalis:

m_total<

Stationc1;

intLp,unLp;

PleaseenterhowmuchLeapandunLeaphasaddedtoday:

Lp>

unLp;

c1.Addgas(Lp,unLp);

c1.Showtotal();

3、Newdelete与mallocfree的联系与区别?

4、设计一个Bank类,模拟银行某一账号的资金往来账目管理。

Bank类包括私有数据成员top(标记当前账位置,即处理存入和取出的总次数)、date(日期)、money(金额)、rest(余额)。

另有一个构造函数(初始化数据成员)和三个成员函数bankin()(处理存入账),bankout()处理取出账)和disp()(输出明细账)。

提示:

日期使用字符串数组用来存放操作日期;

金额、余额使用整形数组。

输出时将三个数组中的第i个元素在同一行输出。

输出结果:

日期 存入 取出余额

98/07/1220002000

98/07/152001800

5.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。

Box类包含三个私有数据成员a(立方体边长)、volume(体积)和area(表面积),另有两个构造函数以及seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。

若对象调用无参构造函数,由seta()设置边长;

若对象调用有参构造函数,则由参数初始化边长。

6.设计一个类Rect,要求有下列成员函数:

a)Move():

从一个位置移动到另一个位置。

b)Size():

改变矩形的大小。

c)Where():

返回矩形左上角的坐标值。

d)Area():

计算矩形面积。

7、编写一个类,实现简单的栈(提示:

用链表结构实现)。

数据的操作按先进后出的(FILO)的顺序。

成员函数为:

Voidqueue:

put(intitem);

Intqueue:

get();

数据成员为:

一个指向链首的指针

链表结构为:

StructNode

Inta;

Node*next;

使用对象的过程:

queueque;

que.put(10);

que.put(12);

que.put(14);

cout<

que.get()<

que.get()<

8.

(1)创建一个Employee类,该类中有字符数组,表示姓名,街道地址,市,省和邮政编码。

把表示构造函数,changeName(),Display()的函数原型写在类定义中,构造函数初始化每个成员,Display()函数把完整的对象数据打印出来。

其中的数据成员是保护的,函数是共有的。

(2)修改第一问中的类,将姓名构成类Name,其名和姓在该类中为保护数据成员,其构造函数为接收一个指向完整姓名字符串的指针,Display()函数输出姓名。

然后将Employee类中的姓名成员(字符数组)换成Name类对象。

将所有原型化的函数加上成员函数定义,作为类的内部文件实现文件。

构成完整的类库定义,要求类定义与类的成员函数定义分开。

(3)根据练习2,编制主函数如下,构成一个完整的多文件程序。

voidmain()

Empoloyeeem{"

MarkBrooks"

"

5WestSt"

Revere"

CA"

12290"

charbuffer[255];

cout<

em.Display(buffer)<

em.ChangeName("

RichardVoss"

);

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

当前位置:首页 > 法律文书 > 调解书

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

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