欢迎来到天天文库
浏览记录
ID:18671618
大小:96.50 KB
页数:17页
时间:2018-09-20
《数据结构课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《空间数据结构基础》课程实习报告(测绘10级)姓名班级学号环境与测绘学院1C++面向对象程序设计基础【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。【实验内容】1.定义三维空间的坐标点TPoint2.描述三维空间
2、的球TBall,实现其主要操作(如计算体积和表面积,输出空间坐标等)。【主要代码】头文件:TPoint.h:#ifndefTPOINT_H#defineTPOINT_H#includeusingnamespacestd;classTPoint{public:TPoint(doublexx,doubleyy,doublezz):x(xx),y(yy),z(zz){}TPoint(TPoint&TP):x(TP.x),y(TP.y),z(TP.z){}doublegetX()const{returnx;}//取x坐标值do
3、ublegetY()const{returny;}//取y坐标值doublegetZ()const{returnz;}//取z坐标值voidDisplayTP()const{cout<<"("<4、nstdoublePI=3.14159;classTBall{public:TBall(TPointSC,doubleR):sphCtr(SC),r(R){}//构造函数TBall(TBall&TB):sphCtr(TB.sphCtr),r(TB.r){}doublegetSurfArea()const;//计算球的表面积doublegetVolume()const;//计算球的体积TPointgetSphctr(){returnsphCtr;}doublegetRadius()const{returnr;}//取球的半径voidMove5、(doubleMx,doubleMy,doubleMz){sphCtr.Move(Mx,My,Mz);}//在空间坐标系内移动球voidChangR(doublenewR){r=newR;}voidDisBallInfo()const;//显示球体的基本信息private:TPointsphCtr;//球心坐标doubler;//球的半径};#endif源文件:Define.cpp:#include#include"TBall.h"usingnamespacestd;/////////////////TPoint///6、/////////////////////////////voidTPoint::Move(doubleMx,doubleMy,doubleMz)//移动点的坐标{x+=Mx;y+=My;z+=Mz;}/////////////////TBall////////////////////////////////doubleTBall::getSurfArea()const//计算球的表面积{return4*PI*r*r;}doubleTBall::getVolume()const//计算球的体积{return(4.0/3)*PI*r*r*r7、;}voidTBall::DisBallInfo()const//显示球体的基本信息{cout<<"INFORMATIONOFTHISBALL:"<8、tream>#include"TBall.h"#include"TPoint.h"usingnamespacestd;voidmain(){TPointTP1(1,3,2);TBallTB1(
4、nstdoublePI=3.14159;classTBall{public:TBall(TPointSC,doubleR):sphCtr(SC),r(R){}//构造函数TBall(TBall&TB):sphCtr(TB.sphCtr),r(TB.r){}doublegetSurfArea()const;//计算球的表面积doublegetVolume()const;//计算球的体积TPointgetSphctr(){returnsphCtr;}doublegetRadius()const{returnr;}//取球的半径voidMove
5、(doubleMx,doubleMy,doubleMz){sphCtr.Move(Mx,My,Mz);}//在空间坐标系内移动球voidChangR(doublenewR){r=newR;}voidDisBallInfo()const;//显示球体的基本信息private:TPointsphCtr;//球心坐标doubler;//球的半径};#endif源文件:Define.cpp:#include#include"TBall.h"usingnamespacestd;/////////////////TPoint///
6、/////////////////////////////voidTPoint::Move(doubleMx,doubleMy,doubleMz)//移动点的坐标{x+=Mx;y+=My;z+=Mz;}/////////////////TBall////////////////////////////////doubleTBall::getSurfArea()const//计算球的表面积{return4*PI*r*r;}doubleTBall::getVolume()const//计算球的体积{return(4.0/3)*PI*r*r*r
7、;}voidTBall::DisBallInfo()const//显示球体的基本信息{cout<<"INFORMATIONOFTHISBALL:"<8、tream>#include"TBall.h"#include"TPoint.h"usingnamespacestd;voidmain(){TPointTP1(1,3,2);TBallTB1(
8、tream>#include"TBall.h"#include"TPoint.h"usingnamespacestd;voidmain(){TPointTP1(1,3,2);TBallTB1(
此文档下载收益归作者所有