




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.课程设计目的面向对象程序设计课程设计是计算机科学与技术专业和软件工程专业集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。其目的在于加深对面向对象程序设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运用c+进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。通过课程设计,掌握使用一种面向对象程序设计语言开发工具如borland c+或visual c+等;培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力;通过课程设计,要求学生在指导教师的指导下,独立完成实习课题的全部内容,包括: 通过调查研究和上机实习,收集和调查有关技术资料。 掌握设计课题的基本步骤和方法。 根据课题的要求进行上机实验调试。2.任务要求 一、定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle )类。 二、实现功能 1、设计菜单实现功能选择; 2、输入三角形的三个顶点坐标; 3、判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形); 4、计算并输出三角形的面积 。3.设计方案本程序的设计思路如下流程图: 开始输入三角形的三个顶点输入选择选择操作子程序 保存文件并结束4.设计内容4.1层次(调用)关系计算出面积输入选择计算三角形的面积退出判断出种类判断三角形的种类输入选择 输入三角形的三个顶点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&); /声明一个计算三条边长度的函数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_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& ); /声明一个判断三角形的种类函数 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 结果:用户界面输入数据判断所输入的数据不能构成三角形,重新输入或选择退出程序退出重新输入并判断计算面积程序运行完毕,退出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_line(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()-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(line& ); /声明一个判断三角形的种类函数 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 endl; 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.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; coutt 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; 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; 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 1:coutendl; /控制换行,美化界面,以下“coutendl;”的功能相同 couttt 请分别输入三角形的三个顶点坐标 endl; coutendl; coutsetw(32)xsetw(4)yendl; cout请输入顶点1的坐标并以回车结束:; put(); /调用三次intput()函数输入三角形三个顶点的坐标(第一次) cout请输入顶点2的坐标并以回车结束:; put(); /调用三次intput()函数输入三角形三个顶点的坐标(第二次) cout请输入顶点3的坐标并以回车结束:; put(); /调用三次intput()函数输入三角形三个顶点的坐标(第三次) 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()函数计算并输出三角形的面积 coutendl; coutt 请参照以上功能继续选择您要实现的功能(14) endl; coutt 请在此处输入并以回车结束:; break; case 4:coutendl; cout感谢您的使用! =endl; couttttt endl; couttttt endl; couttttt endl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒精依赖的干预策略-全面剖析
- 前沿科技下区块链技术如何助力企业信任建设
- 家庭教育指导服务市场报告:2025年市场细分领域竞争策略研究
- 工业互联网安全多方计算技术在2025年工业信息安全防护中的应用报告
- AI技术下的医疗隐私保护与伦理挑战
- 区块链技术如何改变办公流程-提升工作效率的新途径
- 企业如何运用区块链和大数据进行决策分析
- 人教版英语教材使用指导计划
- 三年级语文阅读理解训练计划
- 艺术市场数字化交易新平台艺术品市场投资风险防范报告
- 食品生产许可审查通则解读课件
- 医院“双培养”制度
- GB∕T 37370-2019 中国常见色色名和色度特性
- DB34∕T 1948-2013 建设工程造价咨询档案立卷标准
- 漫画教你精益生产课件
- 国内外桥梁垮塌事故案例分析
- Continual Improvement持续改进程序(中英文)
- GB∕T 20721-2022 自动导引车 通用技术条件
- RCA应用于给药错误事情的分析结果汇报
- 申论答题纸-方格纸模板A4-可打印
- DB34∕T 2233-2021 预制混凝土砌块护坡工程技术规程
评论
0/150
提交评论