三角形面积与种类课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计报告课程设计题目:三角形面积与种类学生姓名:专业:班级:指导教师:2014年6月20日三角形面积与种类课程设计报告2三角形种类与面积课程设计报告1.设计题目。三角形的种类与面积基本要求:定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle)类。功能要求:1、设计菜单实现功能选择;2、输入三角形的三个顶点坐标;3、判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形);4、计算并输出三角形的面积。2.运行环境。VisualC++6.03.设计分析。根据以上分析,本系统主要包括:从键盘输入三角形坐标信息、判断三角形的种类、计算并输出三角形的面积。主函数main():输出操作对话框,调用调用输入、判断、计算、输出等函数对三角形信息进行处理。定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle)类。菜单函数menu_select(),输出操作提示框。输入函数setTriangle(),输入三角形顶点坐标。判断函数getTriangleName(),判断三角形种类。计算函数getArea(),计算并输出三角形面积。程序功能机构图如下:三角形面积与种类键盘输入输出种类信息处理输出面积三角形面积与种类课程设计报告34.流程图。本功能一共有14个函数,其中一个主函数,13个功能模块,每个功能模块都是由于主函数或其他功能模块调用,分别说明如下:1.主函数main()。YN图1.2主程序流程图开始输入菜单输入操作键盘输入信息处理输出种类输出面积继续操作否结束三角形面积与种类课程设计报告4(2)键盘输入函数。键盘输入函数主要完成从屏幕输入数据。流程图:YN图1.3键盘输入流程图(3)种类判断函数。种类判断函数主要根据坐标信息判断三角形属于何种三角形,包括锐角、钝角、直角、等腰、等边等种类。(4)面积计算函数。面积计算函数主要根据坐标信息计算所求三角形面积并输出。开始输入坐标信息是否继续结束三角形面积与种类课程设计报告54.测试结果。(1)程序运行主菜单1.9主菜单界面(2)输入三角形坐标。三角形面积与种类课程设计报告6(3)判断三角形种类。(4)计算三角形面积。三角形面积与种类课程设计报告75.收获及体会。通过本次课程设计练习,我们学会了科学分析问题解决问题的方法,从问题分析下手,然后进行模块设计,详细设计,再进行代码编写和测试。在调试程序过程中,学会了分模块进行,避免了以前那种将程序全部功能都放在main()函数中完成的弊病,使得调试过程更加顺利。另外通过本次练习,在前面学习过程中碰到的诸如类使用.指针使用.函数之间参数传递等难点问题也迎刃而解了。源代码:#includeiostream#includemath.husingnamespacestd;doubleX1,Y1,X2,Y2,X3,Y3;doublel1,l2,l3;classPoint{private:doublex;doubley;public:Point(doublea,doubleb){x=a;y=b;}intgetX(){returnx;}intgetY(){returny;}};classLine:publicPoint{private:Pointp1;doubleLen;public:Line(doublea,doubleb,doublec,doubled):Point(a,b),p1(c,d){}doublegetLen()三角形面积与种类课程设计报告8{doubleX,Y;X=pow((getX()-p1.getX()),2);Y=pow((getY()-p1.getY()),2);Len=sqrt(X+Y);returnLen;}};classTriangle{private:LineL1,L2,L3;public:Triangle(doublea,doubleb,doublec,doubled,doublee,doublef):L1(a,b,c,d),L2(a,b,e,f),L3(c,d,e,f){l1=L1.getLen();l2=L2.getLen();l3=L3.getLen();}intdengbian(){if(l1==l2&&l1==l3)return1;elsereturn0;}intdengyao(){if(l1==l2||l1==l3||l2==l3)return1;elsereturn0;}intzhijiao(){if(((X2-X1)*(X3-X2)+(Y2-Y1)*(Y3-Y2))==0||((X2-X1)*(X3-X1)+(Y2-Y1)*(Y3-Y1))==0||((X3-X2)*(X3-X1)+(Y3-Y2)*(Y3-Y1))==0)return1;elsereturn0;}voidgetTriangleName()三角形面积与种类课程设计报告9{if((X1==X2&&X2==X3)||(Y1==Y2&&Y2==Y3)||((X3-X2)*(Y2-Y1)-(Y3-Y2)*(X2-X1))==0)cout\n您输入的坐标不能构成三角形\nendl;else{if(dengbian())cout\n这是等边三角形\nendl;elseif(dengyao()&&zhijiao())cout\n这是等腰直角三角形\nendl;elseif(dengyao())cout\n这是等腰三角形\nendl;elseif(zhijiao())cout\n这是直角三角形\nendl;elsecout\n这是一般三角形\nendl;}}voidgetArea(){doubles,p;p=(l1+l2+l3)/2;s=sqrt(p*(p-l1)*(p-l2)*(p-l3));cout.setf(ios::fixed);cout.precision(2);cout\n三角形面积是:sendl;}};voidsetTriangle(){cout输入第一个顶点坐标(用空格隔开):;cinX1Y1;coutendl;cout输入第二个顶点坐标(用空格隔开):;cinX2Y2;coutendl;cout输入第三个顶点坐标(用空格隔开):;cinX3Y3;coutendl;}intmenu_select(){chars[80];intc;cout***************主菜单***************endl;cout1.输入三角形三顶点坐标endl;cout2.判断三角形种类endl;cout3.输出三角形面积endl;cout0.程序退出endl;cout************************************endl;do{cout\n输入您的菜单选项编号(0-3):;cins;三角形面积与种类课程设计报告10c=atoi(s);getchar();}while(c0||c3);returnc;}voidmain(){for(;;){Trianglet(X1,Y1,X2,Y2,X3,Y3);system(cls);switch(menu_select()){case1:setTriangle();break;case2:t.getTriangleName();break;case3:t.getArea();break;case4:exit(0);}cout按回车键返回主菜单......endl;getchar();}return;}

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功