C程序设计课程设计报告三角形的种类与面积.doc

上传人:sccc 文档编号:4854125 上传时间:2023-05-20 格式:DOC 页数:17 大小:1.18MB
返回 下载 相关 举报
C程序设计课程设计报告三角形的种类与面积.doc_第1页
第1页 / 共17页
C程序设计课程设计报告三角形的种类与面积.doc_第2页
第2页 / 共17页
C程序设计课程设计报告三角形的种类与面积.doc_第3页
第3页 / 共17页
C程序设计课程设计报告三角形的种类与面积.doc_第4页
第4页 / 共17页
C程序设计课程设计报告三角形的种类与面积.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C程序设计课程设计报告三角形的种类与面积.doc》由会员分享,可在线阅读,更多相关《C程序设计课程设计报告三角形的种类与面积.doc(17页珍藏版)》请在三一办公上搜索。

1、C+课程设计C+程序设计课程设计报告选题名称: 三角形的种类与面积 系 别: 计算机科学技术系 专 业: 软件工程 班 级: 软工一班 学 号: 指导老师: 学年学期: 2010 2011 学年 第 一 学期 2011 年 6 月 16 日 目 录1课程设计目的32任务要求33设计方案34设计内容44.1 层次(调用) 关系 44.2类图54.3设计思想64.4调试过程64.5结果74.6程序代码115总结176 参考文献17三角形的种类与面积 17三角形的种类与面积1.课程设计目的面向对象程序设计课程设计是计算机科学与技术专业和软件工程专业集中实践性环节之一,是学习完面向对象程序设计课程后进

2、行的一次全面的综合练习。其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运用C+进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。通过课程设计,掌握使用一种面向对象程序设计语言开发工具如Borland C+或Visual C+等;培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力;通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括: 通过调查研究和上机实习,收集和调查有关技术资料。 掌握设计课题的基本步骤和方

3、法。 根据课题的要求进行上机实验调试。2.任务要求 一、定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle )类。 二、实现功能 1、设计菜单实现功能选择; 2、输入三角形的三个顶点坐标; 3、判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形); 4、计算并输出三角形的面积 。3.设计方案本程序的设计思路如下流程图: 开始输入三角形的三个顶点输入选择选择操作子程序 保存文件并结束4.设计内容4.1层次(调用)关系计算出面积输入选择计算三角形的面积退出判断出种类判断三角形的种类

4、输入选择 输入三角形的三个顶点4.2类设计图:Pointclass point /定义一个point类public: void intput(); /声明一个输入函数 float get_x() return x; /返回x的值 float get_y() return y; /返回y的值private:float x,y; /定义对象x,y用来表示坐标;void point:intput() /定义输入坐标的函数 cinxy; Lineclass line:public point /派生类linepublic: void al_line(point& ,point& ,point&); /

5、声明一个计算三条边长度的函数float get_l1() return l1; /返回l1的值float get_l2() return l2; /返回l2的值float get_l3() return l3; /返回l3的值 private:float l1,l2,l3; /定义三条线段;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

6、_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();Triangleclass triangle :public line /派生类trianglepublic:void jud_tri(line& ); /声明一个判断三角形的种类函数

7、void alg_tri(line& ); /声明一个计算并输出三角形的面积函数 private:float p,s; /定义s计算面积,p为中间变量;【基本要求】1、 将点、线、面分别定义成类Point、Line、Triangle。2、 每个类中的私有成员变量需通过get的方法获取值或设置值。3、 设计程序入口main()使用各类中的方法管理数据和信息。4.3 先设计各类的方法,最后设计main函数让其正常工作。4.4 调试:通过调试找到一种能正常判断和计算三角形的方法。成功通过编译。4.5 结果:用户界面输入数据判断所输入的数据不能构成三角形,重新输入或选择退出程序退出重新输入并判断计算面

8、积程序运行完毕,退出4.6程序源代源#include#include#includeusing namespace std;class point /定义一个point类public: void intput(); /声明一个输入函数 float get_x() return x; /返回x的值 float get_y() return y; /返回y的值private:float x,y; /定义对象x,y用来表示坐标;void point:intput() /定义输入坐标的函数 cinxy; class line:public point /派生类linepublic: void al_l

9、ine(point& ,point& ,point&); /声明一个计算三条边长度的函数float get_l1() return l1; /返回l1的值float get_l2() return l2; /返回l2的值float get_l3() return l3; /返回l3的值 private:float l1,l2,l3; /定义三条线段;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()

10、-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();class triangle :public line /派生类trianglepublic:void jud_tri(lin

11、e& ); /声明一个判断三角形的种类函数 void alg_tri(line& ); /声明一个计算并输出三角形的面积函数 private:float p,s; /定义s计算面积,p为中间变量;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() coutt e

12、ndl; coutt endl; coutt 所求三角形为等边三角形 endl; coutt endl; coutt endl; else if(l.get_l2()=l.get_l3()|l.get_l1()=l.get_l2()| l.get_l2()=l.get_l3() coutt endl; coutt endl; coutt 所求三角形为等腰三角形 endl; coutt endl; coutt endl; else if(l.get_l2()*l.get_l2()+l.get_l3()*l.get_l3()= l.get_l1()*l.get_l1()|l.get_l1()*l.

13、get_l1()+ l.get_l3()*l.get_l3()=l.get_l2()*l.get_l2()| l.get_l1()*l.get_l1()+l.get_l2()*l.get_l2()= l.get_l3()*l.get_l3() coutt endl; coutt endl; coutt 所求三角形为直角三角形 endl; coutt endl; coutt endl; else coutt endl; coutt endl; coutt 所求三角形为一般三角形 endl; coutt endl; coutt endl; else coutendl; coutt endl; co

14、utt endl; coutt endl; coutt endl; coutt endl; coutt 所输入的数据不能构成三角形,无法计算面积 endl; coutt 请重新输入三个顶点的坐标 endl; 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(); coutendl; coutt endl; coutt endl; coutt 所求三角形为的面积为 endl;

15、coutt s endl;coutt endl; coutt endl; int main() int n; point p1,p2,p3; /定义三个子对象,用来输入三个坐标准 line l; triangle t; coutt endl; coutt endl; coutt endl; coutt 欢迎来到软件工程C+课程设计三角形种类与面积 endl; coutt endl; coutt 软工一班 学号:18号,19号,20号,21号,22号 endl; coutt 指导老师: 袁辉勇 endl; coutt endl; coutt endl; coutendl; couttt endl

16、; couttt endl; couttt 本程序有以下功能 endl; couttt 请参照下列说明选择您要实现的功能 endl; couttt endl; couttt endl; coutttendl; coutttendl; couttt 1.输入三角形的三个顶点坐标 endl; couttt 2.判断三角形的种类 endl; couttt 3.计算并输出三角形的面积 endl; couttt 4.退出程序 endl; coutttendl; coutttendl; couttn) /参照以上的功能,输入一个要实现的功能 switch(n) /用switch实现菜单选择功能 case

17、1:coutendl; /控制换行,美化界面,以下“coutendl;”的功能相同 couttt 请分别输入三角形的三个顶点坐标 endl; coutendl; coutsetw(32)xsetw(4)yendl; cout请输入顶点1的坐标并以回车结束:; p1.intput(); /调用三次intput()函数输入三角形三个顶点的坐标(第一次) cout请输入顶点2的坐标并以回车结束:; p2.intput(); /调用三次intput()函数输入三角形三个顶点的坐标(第二次) cout请输入顶点3的坐标并以回车结束:; p3.intput(); /调用三次intput()函数输入三角形三

18、个顶点的坐标(第三次) l.al_line( p1, p2, p3 ); /调用al_line()函数计算三条边的长度 coutendl; coutt 请参照以上功能继续选择您要实现的功能(14) endl; coutt 请在此处输入并以回车结束:; break; case 2:t.jud_tri( l ); /调用jud_tri()函数判断三角形的种类 coutendl; coutt 请参照以上功能继续选择您要实现的功能(14) endl; coutt 请在此处输入并以回车结束:; break; case 3:t.alg_tri( l ); /调用alg_tri()函数计算并输出三角形的面积

19、 coutendl; coutt 请参照以上功能继续选择您要实现的功能(14) endl; coutt 请在此处输入并以回车结束:; break; case 4:coutendl; cout感谢您的使用! =endl; couttttt endl; couttttt endl; couttttt endl; couttttt endl; couttttt 6 6 endl; couttttt endl; couttttt endl; couttttt endl; couttttt endl; coutendl; exit(1); /退出程序 return 0;5.总结 通过这次的实践我成功的掌握了类的派生与多级派生的使用,并在程序中使用Get来获取和设置私用成员的值,使用exit()来退出程序。本程序的难点是对类的派生与多级派生的使用,由于在类的派生上学得不是很好,所以便对程序的设计造成了一定的难度。6.参考文献1 谭浩强编著. C+面向对象程序设计.北京:清华大学出版社,2006

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号