精选优质文档-----倾情为你奉上课程设计报告课程设计题目: 三角形面积与种类 学生姓名: 专 业: 班 级: 指导教师: 2014年6 月20 日三角形种类与面积课程设计报告1.设计题目三角形的种类与面积基本要求:定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle )类功能要求: 1、设计菜单实现功能选择; 2、输入三角形的三个顶点坐标; 3、判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形); 4、计算并输出三角形的面积 2. 运行环境 Visual C++6.03.设计分析 根据以上分析,本系统主要包括:从键盘输入三角形坐标信息、判断三角形的种类、计算并输出三角形的面积主函数main():输出操作对话框,调用调用输入、判断、计算、输出等函数对三角形信息进行处理定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle )类。
菜单函数menu_select(),输出操作提示框输入函数setTriangle(),输入三角形顶点坐标判断函数getTriangleName(),判断三角形种类计算函数getArea(),计算并输出三角形面积三角形面积与种类程序功能机构图如下:键盘输入信息处理输出种类输出面积 4.流程图本功能一共有14个函数,其中一个主函数,13个功能模块,每个功能模块都是由于主函数或其他功能模块调用,分别说明如下:1.主函数main()输入操作输入菜单开始 信息处理输出种类键盘输入输出面积 继续操作否结束 YN 图1.2 主程序流程图(2)键盘输入函数键盘输入函数主要完成从屏幕输入数据开始流程图:输入坐标信息是否继续结束 Y N 图1.3键盘输入流程图(3)种类判断函数种类判断函数主要根据坐标信息判断三角形属于何种三角形,包括锐角、钝角、直角、等腰、等边等种类4)面积计算函数面积计算函数主要根据坐标信息计算所求三角形面积并输出4.测试结果1)程序运行主菜单 1.9 主菜单界面(2) 输入三角形坐标3) 判断三角形种类4) 计算三角形面积5.收获及体会。
通过本次课程设计练习,我们学会了科学分析问题解决问题的方法,从问题分析下手,然后进行模块设计,详细设计,再进行代码编写和测试在调试程序过程中,学会了分模块进行,避免了以前那种将程序全部功能都放在main()函数中完成的弊病,使得调试过程更加顺利另外通过本次,在前面学习过程中碰到的诸如类使用.指针使用.函数之间参数传递等难点问题也迎刃而解了源代码:#include#includeusing namespace std;double X1,Y1,X2,Y2,X3,Y3;double l1,l2,l3;class Point{private: double x; double y;public: Point(double a,double b) { x=a; y=b; } int getX() { return x; } int getY() { return y; }};class Line:public Point{private: Point p1; double Len;public: Line(double a,double b,double c,double d):Point(a,b),p1(c,d){} double getLen() { double X,Y; X=pow((getX()-p1.getX()),2); Y=pow((getY()-p1.getY()),2); Len=sqrt(X+Y); return Len; }};class Triangle{private: Line L1,L2,L3;public: Triangle(double a,double b,double c,double d,double e,double f):L1(a,b,c,d),L2(a,b,e,f),L3(c,d,e,f) { l1=L1.getLen(); l2=L2.getLen(); l3=L3.getLen(); } int dengbian() { if(l1==l2&&l1==l3) return 1; else return 0; } int dengyao() { if(l1==l2||l1==l3||l2==l3) return 1; else return 0; } int zhijiao() { 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) return 1; else return 0; } void getTriangleName() { if((X1==X2&&X2==X3)||(Y1==Y2&&Y2==Y3)||((X3-X2)*(Y2-Y1)-(Y3-Y2)*(X2-X1))==0) cout<<"\n 您输入的坐标不能构成三角形\n"<>X1>>Y1;cout<>X2>>Y2;cout<>X3>>Y3;cout<>s; c=atoi(s); getchar(); }while(c<0||c>3); return c;}void main(){ for(;;) { Triangle t(X1,Y1,X2,Y2,X3,Y3); system("cls"); switch(menu_select()) { case 1: setTriangle();break; case 2: t.getTriangleName();break; case 3: t.getArea();break; case 4: exit(0); } cout<<"按回车键返回主菜单......"<