南昌航空大学实验报告2构造函数.docx

上传人:b****6 文档编号:3310965 上传时间:2022-11-21 格式:DOCX 页数:9 大小:15.67KB
下载 相关 举报
南昌航空大学实验报告2构造函数.docx_第1页
第1页 / 共9页
南昌航空大学实验报告2构造函数.docx_第2页
第2页 / 共9页
南昌航空大学实验报告2构造函数.docx_第3页
第3页 / 共9页
南昌航空大学实验报告2构造函数.docx_第4页
第4页 / 共9页
南昌航空大学实验报告2构造函数.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

南昌航空大学实验报告2构造函数.docx

《南昌航空大学实验报告2构造函数.docx》由会员分享,可在线阅读,更多相关《南昌航空大学实验报告2构造函数.docx(9页珍藏版)》请在冰豆网上搜索。

南昌航空大学实验报告2构造函数.docx

南昌航空大学实验报告2构造函数

南昌航空大学实验报告

2011年11月16日

课程名称:

面向对象程序设计B实验名称:

构造函数

班级:

102022姓名:

林书晨

指导老师评定:

签名:

 

实验二构造函数

1、实验目的

通过实验理解构造函数的概念与其特殊应用。

2、实验内容

应用VC++6.0的编辑环境构造一个类Triangle,该类主要实现三角形的基本操作,例如初始化(构造函数及构造函数的重载)、求三角形的周长、面积、判断该三角形是什么三角形(等边、等腰、直角、等边直角、一般三角形、非三角形)、输出等,具体说明如下:

classTriangle{

public:

Triangle(double,double,double);

Triangle(double,double);

Triangle(double);

Triangle();

doubleGetArea();

doubleGetPerimeter();

doubleShow();

private:

doublea,b,c;

};

 

3.概要设计

a.构造函数

classTriangle{

public:

Triangle(doublex,doubley,doublez)

{

a=x;

b=y;

c=z;

}

Triangle(doublex,doubley)

{

a=x;

b=y;

c=5;

}

Triangle(doublex)

{

a=x;

b=4;

c=5;

}

Triangle(void)

{

a=3;

b=4;

c=5;

}

b.实现功能

1.DoubleGetArea()//求面积

{

doublem=GetPerimeter()/2;

returnsqrt(m*(m-a)+m*(m-b)+m*(m-c));

}

2.

DoubleGetPerimeter()//求周长

{

returna+b+c;

}

3.VoidShow()//判断是什么三角形

{

if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)

{

if(a==b||a==c||b==c)

{

cout<<"rightangledisoscelestriangle"<

}

else

{

cout<<"rightangledtriangle"<

}

}

else

{

if(a==b||a==c||b==c)

{

if(a==b&&b==c)

{

cout<<"regulartriangle"<

}

else

{

cout<<"isoscelestriangle"<

}

}

else

{

cout<<"Generaltriangle"<

}

else

{

cout<<"Notatriangle"<

}

return;

 

4.详细设计

#include

#include

classTriangle{

public:

Triangle(doublex,doubley,doublez)

{

a=x;

b=y;

c=z;

}

Triangle(doublex,doubley)

{

a=x;

b=y;

c=5;

}

Triangle(doublex)

{

a=x;

b=4;

c=5;

}

Triangle(void)

{

a=3;

b=4;

c=5;

}

doubleGetArea()//求面积

{

doublew=GetPerimeter()/2;

returnsqrt(w*(w-a)+w*(w-b)+w*(w-c));

}

doubleGetPerimeter()//求周长

{

returna+b+c;

}

voidShow()//判断是什么三角形

{

if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)

{

if(a==b||a==c||b==c)

{

cout<<"rightangledisoscelestriangle"<

}

else

{

cout<<"rightangledtriangle"<

}

}

else

{

if(a==b||a==c||b==c)

{

if(a==b&&b==c)

{

cout<<"regulartriangle"<

}

else

{

cout<<"isoscelestriangle"<

}

}

else

{

cout<<"Generaltriangle"<

}

else

{

cout<<"Notatriangle"<

}

return;

}

voidPrint()

{

cout<<"TheAreais:

"<

"<

Show();

cout<

return;

}

private:

doublea,b,c;

};

voidmain()

{

Triangletr1(6.0);

Triangletr2(5.0,4.0);

Triangletr3(6.0,6.0,6.0);

Triangletr4;

tr1.Print();

tr2.Print();

tr3.Print();

tr4.Print();

return;

}

 

5.程序调试

a.

(1)未初始化函数

(2)三角形形状判断函数不明

(3)没有正确的数据输出

(4)调试加入初始化函数

(5)该了判断函数三角形函数

(6)程序可运行

(7)输入数据

(8)结果正确

b.运行结果

输入:

3,4,5

输出:

rightangledtriangle

TheAreais:

6

ThePerimeteris:

12

输入:

4,4,5

输出:

Notatriangle

输入:

4,4,4

输出:

regulartriangle

rightangledtriangle

TheAreais:

12

ThePerimeteris:

6.9282

输入:

4,4,5

输出:

rightangledtriangle

TheAreais:

13

ThePerimeteris:

7.8062

输入:

2,2,2*2^(1/2)

输出:

rightangledisoscelestriangle

TheAreais:

4+2*2^(1/2)

ThePerimeteris:

2

输入:

3,5,6

输出:

Generaltriangle

TheAreais:

14

ThePerimeteris:

4.5

 

6.实验总结

在实验中其实程序的写入并不难,只是我们应该注意一些具体的细节,比如函数的初始化,函数的具体方法等等。

 

7.附录

#include

#include

classTriangle{

public:

Triangle(doublex,doubley,doublez)

{

a=x;

b=y;

c=z;

}

Triangle(doublex,doubley)

{

a=x;

b=y;

c=5;

}

Triangle(doublex)

{

a=x;

b=4;

c=5;

}

Triangle(void)

{

a=3;

b=4;

c=5;

}

doubleGetArea()

{

doublew=GetPerimeter()/2;

returnsqrt(w*(w-a)+w*(w-b)+w*(w-c));

}

doubleGetPerimeter()

{

returna+b+c;

}

voidShow()

{

if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)

{

if(a==b||a==c||b==c)

{

cout<<"rightangledisoscelestriangle"<

}

else

{

cout<<"rightangledtriangle"<

}

}

else

{

if(a==b||a==c||b==c)

{

if(a==b&&b==c)

{

cout<<"regulartriangle"<

}

else

{

cout<<"isoscelestriangle"<

}

}

else

{

cout<<"Generaltriangle"<

}

else

Cout<<"NOtatriangle"<

}

return;

}

voidPrint()

{

cout<<"TheAreais:

"<

Perimeteris:

"<

Show();

cout<

return;

}

private:

doublea,b,c;

};

voidmain()

{

Triangletr1(6.0);

Triangletr2(5.0,4.0);

Triangletr3(6.0,6.0,6.0);

Triangletr4;

tr1.Print();

tr2.Print();

tr3.Print();

tr4.Print();

return;

}

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

当前位置:首页 > 法律文书 > 起诉状

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

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