第一范文网 - 专业文章范例文档资料分享平台

中国矿业大学数据结构课程设计报告

来源:用户分享 时间:2025/7/8 2:30:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《空间数据结构基础》 课程实习报告(地信12姓名 朱红鑫 班级 地信12-2 学号 07122960

环境与测绘学院

级)

空间数据结构设计

目 录

C++面向对象程序设计基础……………….2 …………..6 ………..13 ……………………………..18 ……………………………………..24

1

实验一:实验三:通讯簿管理(顺序表的应用)实验五:将中缀表达式转换为后缀表达式实验七:二叉树的操作实验九:字符串

空间数据结构设计

1 C++面向对象程序设计基础

【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。 【实验内容】

1. 定义三维空间的坐标点TPoint

2. 描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输

出空间坐标等)。

【主要代码】 #include #include class TPoint {

protected:

double x; //虚拟类型的水平坐标值 double y; //虚拟类型的垂直坐标值 double z; //z坐标 public:

TPoint(){x = 0; y = 0; z = 0; } //缺省构造函数

TPoint(double px, double py,double pz){x = px;y = py;z=pz;} //带参数的构造函数

void move(double mx,double my,double mz){x = mx;y = my;z=mz;} //移动位置(修改坐标值)

void show(){cout<<\输出坐标值

double getx(){return x;} //取x double gety(){return y;}//取y double getz(){return z;}//取z };

#define PI 3.141592653 class TBall:public TPoint {

double r; //定义球半径 public:

TBall(){x=0;y=0;z=0;r=0;} //缺省的构造函数 TBall(double mx,double my,double mz,double mr){x=mx;y=my;z=mz;r=mr;}//有参数的构造函数

TBall(TPoint &p):TPoint(p){r=1;}//用点来决定球心位置,半径默认为1 double set(double sx,double sy,double sz){x=sx;y=sy;z=sz;}//重置球心的坐标

2

空间数据结构设计

double area(){return 4*PI*r*r;} //计算球体表面积 double volume(){return 4/3*PI*r*r*r;}//计算球体体积 void show(); //输出球心坐标

double distance(TPoint &a,TPoint &b);//计算两点的距离或者球心与点、球心与球心之间的距离

void judge(TBall &ma,TPoint &pb);//判断一点与一球的位置关系 };

void TBall::show() {

cout<<\输出球心的坐标

cout<<\输出半径

cout<<\输出表面积 cout<<\输出体积 }

double TBall::distance(TPoint &a,TPoint &b) {

return sqrt((a.getx()-b.getx())*(a.getx()-b.getx())//求两点之间的距离算法

+(a.gety()-b.gety())*(a.gety()-b.gety()) +(a.getz()-b.getz())*(a.getz()-b.getz())); }

void TBall::judge(TBall &ma,TPoint &pb){//判断的实现 if(distance(ma,pb)>ma.r)

cout<<\该点在球外面\ else if(distance(ma,pb)==ma.r) cout<<\该点在球面上\ else

cout<<\该点在球内\}

void main() {

TBall a;//调用缺省的函数

cout<<\球的基本参数为:\ a.show();//调用show函数 TBall b(15,25,36,2);

cout<<\球的基本参数为:\

3

搜索更多关于: 中国矿业大学数据结构课程设计报告 的文档
中国矿业大学数据结构课程设计报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1ef7c4ok869kfa251dw1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top