C++语言程序设计实验报告 第三次作业Word下载.docx
- 文档编号:19421897
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:13
- 大小:38.35KB
C++语言程序设计实验报告 第三次作业Word下载.docx
《C++语言程序设计实验报告 第三次作业Word下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计实验报告 第三次作业Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
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)<
天"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+语言程序设计实验报告 第三次作业 C+ 语言程序设计 实验 报告 第三次 作业