文档详情

面向对象程序设计期末.doc

发布:2017-03-22约6.7千字共13页下载文档
文本预览下载声明
甘肃政法学院 面向对象程序设计 期末考试 题 目 三角形的种类与面积 计算机科学学院 计算机科学与技术专业 11级 计本一 班 学 号: 201181110148 姓 名: 郑旭彤 指导教师: ___金 涛__ 成 绩: ____________ 完成时间: _2012 年 6月 一、项目说明 1、课程设计的目的 1)通过课程设计更进一步理解C++的基础知识和面向对象的思想。 2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。 2、课程设计的内容 使用类实现对三角形的种类和面积求解,具体内容如下: 1)设计菜单实现功能选择; 2)输入三角形的三个顶点坐标; 3)计算并输出三角形的面积 二、各功能模块的介绍和源码的介绍 1.(1)定义三个Point,Line,Triangle三个类。 (2)详细设计,如图1: 详细注释: public: Point();:点类无参构造函数 Point(参数);:点类带参构造函数 Private: double X;:点的x坐标 double Y;:点的y坐标 public: Line();:线段类无参构造函数 Line(参数);:线段类带参构造函数 private: double X1,X2,Y1,Y2;两个点的x坐标和y坐标 Point p1,p2;两个点类成员 public: Triangle();:三角形类无参构造函数 Triangle(参数);:三角形带参构造函数 trilineput();:三角形边长输出函数 triarea();:求三角形面积函数 trijudgekind();:三角形类型判断函数 private: double X1,X2,X3,Y1,Y2,Y3;:三角形三点的x坐标和y坐标 Point p1,p2,p3;:三个点类成员 Line l1,l2,l3:三个线段类成员 图1 设计图 (3)其他自定义函数 void setprecision();:设置输出数据精度函数 viod triin(Triangle t);:初始化一个三角形对象函数 void display();:主菜单显示函数 (4)主函数 void display();switch(int n):调用操作 源码分析 先定义一个点类,做线段类的基类,一种当x、y为0时,调用点类无参构造函数,x、y不为0时,调用点类带参构造函数。类视图及其成员如图2: 图2 点类视图 #includeiostream.h #includemath.h #includefstream.h #includectype.h #includeiomanip.h #includestdlib.h static int P=2; //点类 //做线段类的基类 class Point { public: Point()//点类无参构造函数 { X=0;Y=0; } Point(double x,double y)//点类带参构造函数 { X=x; Y=y; } private: double X;//点类私有数据成员 double Y; }; 构造一个线段类,公有继承点类,构造一个线段类无参构造函数,然后对私有数据成员赋值,再构造求两点距离函数,即三角形的边长,类视图及其成员如图3: 图3 线段类视图 //线段类 class Line: public Point//公有继承点类 { public: Line()//线段类无参构造函数 { X1=0;X2=0;Y1=0;Y2=0;//给私有数据成员赋初值 } Line(double x1,double y1,double x2,double y2):Point(0,0),p1(x1,y1),p2(x2,y2)//线段类带参构造函数,初始化数据 { X1=x1;X2=x2; Y1=y1;Y2=y2; } double linelength();//求两点距离函数 private: Point p1,p2; //私有点类成员 double X1,X2,Y1,Y2;//私有数据成员 }; double Line::linelength() //定义求两点距离函数,即三角形的边长 { return sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));//返回两点的距离值,即三角形边 } //长的值 定义一个三角形类,构造一个公有继承线段类函数,若
显示全部
相似文档