资源描述:
《面向对象程序设计期末》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、甘肃政法学院面向对象程序设计期末考试三角形的种类与面积计算机科学学院计算机科学与技术专业级计本一班学号:201181110148姓名:郑旭彤指导教师:金涛成绩:完成时间:2012年6月一、项目说明1、课程设计的目的1)通过课程设计更进一步理解C++的基础知识和而向对彖的思想。2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。2、课程设计的内容使用类实现对三角形的种类和面积求解,具体内容如下:1)设计菜单实现功能
2、选择;2)输入三角形的三个顶点坐标;3)计算并输出三角形的面积二、各功能模块的介绍和源码的介绍1.(1)定义三个Point,Line,Triangle三个类。(2)详细设计,如图1:详细注释:public:Point();:点类无参构造函数Point(参数);:点类带参构造函数Private:doubleX;:点的x坐标doubleY;:点的y坐标public:LineO;:线段类无参构造函数Line(参数);:线段类带参构造函数private:doubleXI,X2,Yl,Y2;两个点的x坐标和y坐标Pointpl,p2;两个点类
3、成员public:Triangle();:三角形类无参构造函数Triangle(参数);:三角形带参构造函数trilincput();:三角形边长输出函数triarea();:求三角形而积函数trijudgekind();:三角形类型判断函数private:doubleXI,X2,X3,Y1,Y2,Y3;:三角形三点的x坐标和y坐标Pointpl,p2,p3;:三个点类成员Line11,12,13:三个线段类成员Point类:作为基类Line类:公有继承PointTriangle类:公有继承Line类public:Point();P
4、oint(参数);Private:doubleX;doubleY;public:Line();Line惨数);private:doublePointpl,p2;public:Triangle();Triangle(参数);trilineput();triarea();trijudgekindO;trisave();tricheck();triclear();private:doubleX1,X2,X3,Y1,Y2,Y3;Pointpl,p2,p3;Line11,12,13;图1设计图(2)其他自定义函数voidsetprecisio
5、n();:设置输出数据精度函数viodtriin(Triangle&t);:初始化一个三角形对象函数voiddisplay();:主菜单显示函数(3)主函数voiddisplay();switch(intn):调用操作1.源码分析(1)先定义一个点类,做线段类的基类,一种当x、y为0时,调用点类无参构造函数,x、y不为0时,调用点类带参构造函数。类视图及其成员如图2:PointQPointO•Pointfdouble>
6、••“番X$”壷YMB■■图2点类视图#includeuiostream.hH#includenmath.h"#i
7、nclude"fstream.h"#includenctype.hn#includeHiomanip.hH#include"stdlib.h"staticintP=2;〃点类〃做线段类的基类classPoint{public:Point()〃点类无参构造函数{X=0;Y=0;}Point(doublex,doubley)〃点类带参构造函数{X=x;Y=y;}private:doubleX;〃点类私有数据成员doubleY;};(1)构造一个线段类,公有继承点类,构造一个线段类无参构造函数,然后对私有数据成员赋值,再构造求两点距离函数
8、,即三角形的边长,类视图及其成员如图3:-鏗zxtclassesT%LineQLineO•Line(doublex◎linelengthOj•“”鱼p1i鱼p2
9、••“齢XII影X2I••“鱼丫1$鱼丫2图3线段类视图〃线段类classLine:publicPoint//公冇继承点类{public:Line()//线段类无参构造函数{Xl=0;X2=0;Yl=0;Y2=0;//给私冇数据成员赋初值}Line(doublexl,doubleyl,doublex2,doubley2):Point(0,0),p1(x1,y1),p2(x2
10、,y2)//线段类带参构造函数,初始化数据{Xl=xl;X2=x2;Yl=yl;Y2=y2;}doublelinelengthO;//求两点距离函数private:Pointpl,p2;〃私冇点类成员doubleX1,X2,Y1,Y2