资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
湖南人文科技学院课程设计 湖南人文科技学院计算机系 课程设计说明书 课 程 名 称:C+面向对象程序设计课 程 代 码:408007题 目:三角形的种类与面积年级/专业/班:2010级计算机科学与技术专业2班学 生 姓 名:陈兴 周福祥 刘要兰 陈孝先 曹毅学 号:10408216 10408217 10408218 10408219 10408220指 导 教 师:袁辉勇开 题 时 间:2011 年 6 月 13 日完 成 时 间:2011 年 6 月 24 日第14页目 录摘 要1一、引 言2二、设计目的与任务2三、设计方案21、总体设计32、详细设计33、程序清单64、程序调试与体会65、运行结果10四、结 论10五、致 谢14六、参考文献14摘 要本次设计用类进行有关三角形的种类和面积的操作。通过类的继承与派生,调用类的成员函数实现判别三角形的种类,求三角形三条边的长度,求三角形的面积,数据存入文件,查看文件数据,清空数据文件等操作。程序中使用了类的继承,提高代码的复用性。程序主要由点类、线段类、三角形类以及主函数构成。关键词:类、类的继承与派生AbstractThe design of the triangle is concerned with the type and area. By inheriting classes derived, and members of the function calls for the triangle, criterion the length of the triangle, the triangle area, data files, check the file data into empty data files, etc. In the process of using the inheritance, enhance code reusability. Program mainly by point, line, and the main function of triangles. Keywords : class, the class inherits and derivativesC+程序设计课程设计 -利用类的继承与派生求三角形的种类和面积一、引 言随着人们的物质生活水平的提高,因此,人们对计算机的需求越来越强烈了,计算机为了满足人们的需求而不断发展,如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用,计算机可以帮助我们高效、快捷地解决各种各样的问题,本课程设计就是用C+研究三角形的种类及面积的问题,实现对三角形的种类和面积的求解及实现类的应用以及函数的调用。二、设计目的与任务 1、本课程设计的目的1)通过课程设计巩固了计算机语言基础知识,进一步理解C+的基础知识和面向对象的思想。2)熟练掌握C+中类的继承与派生在程序中的应用,并熟练了解类中函数的调用。3)初步理解了软件设计方法、软件设计技术和设计思想,并在此过程中培养严谨的科学态度和良好的工作作风。4)通过分工协作,激发团队合作精神,培养团队合作的能力。同时,我们体验到了合作的乐趣和编程的乐趣。2、本课程设计的任务使用类实现对三角形的种类和面积求解,具体内容如下:1)设计菜单实现功能选择; 2)输入三角形的三个顶点坐标;3)判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形);4)计算并输出三角形的面积 5)对输入数据和输出结果均用文件实现三、设计方案1、总体设计(一)定义三个Point,Line,Triangle三个类。1、class point /定义一个point类 private: float x,y; /定义对像用x,y来表示坐标 public: void intput(); /声明一个输入函数 float get_x()return x; /返回x的值 float get_y()return y; /返回y的值 ;2、class line:public point /派生类line private: float l1,l2,l3; /定义三条线段 public: void al_line(point&, point&,point&); /声明一个计算三条边长度的函数 float get_l1()return l1; float get_l2()return l2; float get_l3()return l3;3、class triangle:public line /派生类triangle private: float s,p; public: void jud_tri(line&); /声明一个判断三角形的种类函数 void alg_tri(line&); /声明一个计算并输出三角形的面积函数 ;2、详细设计private:double s,pPoint p1,p2,p3; Line l1,l2,l3;本课程设计是通过先定义三个类Point,Line,Triangle,再在这三个类中分别插入一个函数。重要的程序段如下。1).输入坐标的函数 ,将你要求的三角形的三个顶点坐标输入void point:intput() cinxy;2).计算三条边的长度的函数void line:al_line(point& p1,point& p2,point& p3) l1=sqrt(p2.get_x()-p1.get_x()*(p2.get_x()-p1.get_x()+ (p2.get_y()-p1.get_y()*(p2.get_y()-p1.get_y(); l2=sqrt(p3.get_x()-p1.get_x()*(p3.get_x()-p1.get_x()+ (p3.get_y()-p1.get_y()*(p3.get_y()-p1.get_y(); l3=sqrt(p3.get_x()-p2.get_x()*(p3.get_x()-p2.get_x()+ (p3.get_y()-p2.get_y()*(p3.get_y()-p2.get_y(); 3) .判断三角形的种类的函数,通过三边判断三角形的种类。void triangle:jud_tri(line& l) if(l.get_l1()+l.get_l2()l.get_l3()&l.get_l1()+l.get_l3() l.get_l2()&l.get_l2()+l.get_l3()l.get_l1() if(l.get_l1()=l.get_l2()&l.get_l1()=l.get_l3() coutn 所求三角形为等边三角形endl; else if(l.get_l2()=l.get_l3()|l.get_l1()=l.get_l2()|l.get_l2()=l.get_l3() coutn 所求三角形为等腰三角形endl; else if( l.get_l1()*l.get_l1()+l.get_l2()*l.get_l2()=l.get_l3()*l.get_l3() |l.get_l1()*l.get_l1()+l.get_l3()*l.get_l3()=l.get_l2()*l.get_l2() |l.get_l2()*l.get_l2()+l.get_l3()*l.get_l3()=l.get_l1()*l.get_l1() ) coutn 所求三角形为直角三角形endl; else coutn 所求三角形为一般三角形endl; else coutn 所输入的数据不能构成三角形,无法计算面积,请重新输入三个顶点的坐标endl; 4).计算三角形的面积函数,通过三边计算三角形的面积。void triangle:alg_tri(line& l) p=(l.get_l1()+l.get_l2()+l.get_l3()/2.0; s=sqrt(p*(p-l.get_l1()*(p-l.get_l2()*(p-l.get_l3(); coutn 所求三角形的面积为: sendl;5).主函数main,输出菜单、结果。流程图如下:开始 输入三点坐标计算三边的长是否满足两边之和大于第三边,且两边之差小于第三边?能构成三角形不能构成三角形YN计算三角形的面积判断三角形的种类输出面积与种类结束 3、程序清单#include#include#includeusing namespace std;class point /定义一个point类 private: float x,y; /定义对像用x,y来表示坐标 public: void intput(); /声明一个输入函数 float get_x()return x; /返回x的值
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号