C++语言程序设计实验报告 第三次作业Word下载.docx

上传人:b****5 文档编号:19421897 上传时间:2023-01-06 格式:DOCX 页数:13 大小:38.35KB
下载 相关 举报
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

dogd;

cout<

<

"

dog-age:

d.age()<

"

dog-weight:

d.weight()<

endl;

return0;

}

结果:

基础题二

定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。

实验目的:

给定两个点的坐标求出该矩形的面积

iostream.h>

math.h>

classRectangle

{

Rectangle(double,double,double,double);

Rectangle();

doubleWidth();

doubleHeight();

doubleArea();

doublex0,y0,x1,y1;

Rectangle:

:

Rectangle(doublea,doubleb,doublec,doubled)

x0=a;

y0=b;

x1=c;

y1=d;

Rectangle()

输入矩形左下角坐标"

cin>

>

x0>

y0;

再输入矩形右上角坐标"

x1>

y1;

doubleRectangle:

Width()

returnfabs(x1-x0);

Height()

returnfabs(y1-y0);

Area()

returnthis->

Width()*this->

Height();

voidmain()

Rectangletest(12,37.7,56,99);

矩形长为:

test.Width()<

矩形宽为:

test.Height()<

endl

矩形面积为:

test.Area()<

提高题一

编写一个能将10个字母长的单词进行加密和解密的程序(自定义加密解密方法)

对10个字母进行加密算法得到解密的结果

分析:

每个字母与其后面第三个字母对应,应考虑到xyz这三个字母的对应字母为abc,即ASCII码做成循环

charc[11];

请输入10个字母长的单词(以!

作为结束标志):

;

intj,i=0;

for(j=0;

j<

11;

j++)

c[j];

while(c[i]!

='

!

'

if((c[i]>

a'

&

c[i]<

z'

)||(c[i]>

A'

Z'

))

c[i]+=3;

if(c[i]>

+3||c[i]>

c[i]-=26;

i++;

解密后的10个字母为:

for(i=0;

i<

10;

i++)

c[i];

提高题二

打印矩形

基本要求:

定义一个矩形类,内有保护数据成员长和宽(值范围在1~30),另有成员函数:

取长,取宽。

在构造该类对象时,初始化矩形的长和宽。

编制应用程序,创建矩形对象,并打印其矩形的形状。

给出一矩形的长和宽要将其形状打印出来

首先要建一个矩形类,有长宽两个成员,还包括取长函数,取宽函数,打印函数,构造函数等成员函数。

该打印出来的矩形是通过“*”来表示的,一个“*”表示长度1。

classRectangle{

protected:

intheight;

intweight;

Rectangle(intx=10,inty=9)

if(x>

30||x<

0);

if(y>

30||y<

height=x;

weight=y;

intGetHeight()

returnheight;

intGetWeight()

returnweight;

voidprint()

for(inti=0;

height;

{

for(intj=0;

weight;

cout<

*"

}

Rectanglerectangle(10,20);

矩形高为:

rectangle.GetHeight()<

矩形宽为:

rectangle.GetWeight()<

rectangle.print();

while

(1);

选做题

编写一个cdate类,描述由年月日组成的日期。

要求:

  1.具有构造函数,用来初始化年月日。

使得该类可以象下面这样产生对象:

cdated1(1980,12,31);

//初始化为1980/12/2

cdated2;

//用一个固定日期初始化,如1900/1/1

cdated3(2003,3,79);

//非法参数,同上初始化为1900/1/1

  2.该类具有display(),set(...)等函数可以用来显示/设定年月日

  3.该类具有一个next()函数,用以计算并将当前日期设定下一天,如:

对于上面的d1,若调用d1.next();

再显示(d1.display())则当前日期为1981/1/1。

4.利用上面定义的类,编写一个实例,展示其用途。

例如可以用它来求某个人从出生到现在总共活了多少天?

计算量日期相距天数

要注意考虑闰年

构造一个cdate类,有year,moon,day成员

classCDate{

intyear;

intmonth;

intday;

boolisTrue(inty,intm,intd);

CDate()

year=1990;

month=1;

day=1;

CDate(inty,intm,intd)

if(isTrue(y,m,d))

{

year=y;

month=m;

day=d;

}

else

year=1990;

month=1;

day=1;

voiddisplay()

year<

/"

month<

day<

voidset(intx,inty,intz)

year=x;

month=y;

day=z;

voidnext()

if(((year%4==0)&

(year%100!

=0))||(year%400==0)){

if(month==2)

if(day==29)

day=1;

month=3;

else

day++;

elseif(month==4||month==6||month==9||month==11){

if(day==30)

month++;

else

day++;

else

if(day==31)

if(month==12)

month=1;

year++;

if(day==28)

month=3;

elseif(month==4||month==6||month==9||month==11)

month++;

elseday++;

boolCDate:

isTrue(inty,intm,intd)

if(y<

=0||m<

=0||d<

=0)

returnfalse;

if(((y%4==0)&

(y%100!

=0))||(y%400==0))

if(m==2&

d<

=29)

returntrue;

if(m==4||m==6||m==9||m==11)

if(d<

=30)

if(m==2)

=28)

returnfalse;

=31)

intapplication(CDatedata1,CDatedata2)

{//计算两个日期之间的天数

intnum=0;

for(inti=0;

if(data1.year==data2.year&

data1.month==data2.month&

data1.day==data2.day)break;

data1.next();

num++;

returnnum;

CDated1();

CDated2(1980,12,31);

CDated3(1993,5,28);

d2.display();

d2.set(2013,3,29);

d3.display();

和"

d2.display();

相距"

application(d3,d2)<

天"

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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