欢迎来到天天文库
浏览记录
ID:49406438
大小:245.00 KB
页数:14页
时间:2020-03-01
《《空间数据结构基础》课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《空间数据结构基础》课程设计报告(测绘2010级)姓名佟杰班级测绘2010-1学号07103067实验一•三维空间的坐标【问题描述】TPoint.1•定义三维空间的坐标点2.描述三维空间的球TBalL实现其丄要操作(如计算体积和表而积,输出空间坐标等)【主要代码】#includeusingnamespacestd;constdoublePI=3.1415926;classPoint{private:doublex,y,z;public:Point(){x=0;y=0;z=0;}Po
2、int(doublea,doubleb,doublec){x=a;y=b;z=c;}Point(Point&a);doublegetx(){returnx;}doublegety(){returny;}doublegetz(){returnz;}doublePointmove(doublemx,doublemy,doublemz){x+=mx;y+=my;z+=mz;}voidinput(){cout<<"请输入球心的坐标x,y,z的值:*«endl;cin»x»y»z;}voidoutput(){c
3、out«*r«x<<*,<«y«*»*<4、m=zx;radius=zy;}doublevolume(){return(4.0/3)*PI*radius*radius*radius;}doublearea(){return4*PI*radius*radius:}voidsetradius(){cout«*设置球的半径:"<5、cout«'球的圆心坐标为:";m.output();}voidTballmove(doublemx9doublemy,doublemz){m.Pointmove(mx,my,mz);}Tballxl;xl.setradius();xl.setTpoint();cout«*球的表面积为:*«xl.area()«endl;cout«*球的体积为:*«xl.volume()«endl;xl.output();return0;};}intmain()【主要输入、输出界面】【实验体会】理解并尝试用C++语言描6、述数据结构和算法,在本实验屮首先要定义三维空间的坐标点,描述三维空间的球TBall,实现其主要操作。然后弄清楚球与点的关系,利用声明人的方法对类进行直接调用。实验二•链表的建立、合并与拆分【问题描述】定义一个链表存储的线性表,除己给出的表元索插入、删除、查找等基本操作外,再提供表的合并、拆分和逆置等操作。在应用程序屮建立两个整型的单链表对象A和B,应用线性表的基本操作对表的实例对象进行操作测试。【主要代码】templatestructLinkNode{Tdata;LinkNodc7、*link;LinkN(>de(LinkNode*ptr=NULL){link=ptr;}LinkNode(constT&item,LinkNode*ptr=NULL){data=item;link=ptr;}};templateclassList{protected:LinkNode*first;public:List(){first=newLinkNode;}List(constT&x){first=newLinkNodc(x);}~List(){ma8、keEmptyO;)voidmakeEmptyO;intLength()const;LinkNodc*gctHead()const{returnfirst;}LinkNode*Locate(inti);boolgetData(inti,T&x);boolInsert(inti,T&x);boolIsEmptyOconst{returnfirst->link==NULL?true:false;}boolIsFull()const{returnf
4、m=zx;radius=zy;}doublevolume(){return(4.0/3)*PI*radius*radius*radius;}doublearea(){return4*PI*radius*radius:}voidsetradius(){cout«*设置球的半径:"<5、cout«'球的圆心坐标为:";m.output();}voidTballmove(doublemx9doublemy,doublemz){m.Pointmove(mx,my,mz);}Tballxl;xl.setradius();xl.setTpoint();cout«*球的表面积为:*«xl.area()«endl;cout«*球的体积为:*«xl.volume()«endl;xl.output();return0;};}intmain()【主要输入、输出界面】【实验体会】理解并尝试用C++语言描6、述数据结构和算法,在本实验屮首先要定义三维空间的坐标点,描述三维空间的球TBall,实现其主要操作。然后弄清楚球与点的关系,利用声明人的方法对类进行直接调用。实验二•链表的建立、合并与拆分【问题描述】定义一个链表存储的线性表,除己给出的表元索插入、删除、查找等基本操作外,再提供表的合并、拆分和逆置等操作。在应用程序屮建立两个整型的单链表对象A和B,应用线性表的基本操作对表的实例对象进行操作测试。【主要代码】templatestructLinkNode{Tdata;LinkNodc7、*link;LinkN(>de(LinkNode*ptr=NULL){link=ptr;}LinkNode(constT&item,LinkNode*ptr=NULL){data=item;link=ptr;}};templateclassList{protected:LinkNode*first;public:List(){first=newLinkNode;}List(constT&x){first=newLinkNodc(x);}~List(){ma8、keEmptyO;)voidmakeEmptyO;intLength()const;LinkNodc*gctHead()const{returnfirst;}LinkNode*Locate(inti);boolgetData(inti,T&x);boolInsert(inti,T&x);boolIsEmptyOconst{returnfirst->link==NULL?true:false;}boolIsFull()const{returnf
5、cout«'球的圆心坐标为:";m.output();}voidTballmove(doublemx9doublemy,doublemz){m.Pointmove(mx,my,mz);}Tballxl;xl.setradius();xl.setTpoint();cout«*球的表面积为:*«xl.area()«endl;cout«*球的体积为:*«xl.volume()«endl;xl.output();return0;};}intmain()【主要输入、输出界面】【实验体会】理解并尝试用C++语言描
6、述数据结构和算法,在本实验屮首先要定义三维空间的坐标点,描述三维空间的球TBall,实现其主要操作。然后弄清楚球与点的关系,利用声明人的方法对类进行直接调用。实验二•链表的建立、合并与拆分【问题描述】定义一个链表存储的线性表,除己给出的表元索插入、删除、查找等基本操作外,再提供表的合并、拆分和逆置等操作。在应用程序屮建立两个整型的单链表对象A和B,应用线性表的基本操作对表的实例对象进行操作测试。【主要代码】templatestructLinkNode{Tdata;LinkNodc
7、*link;LinkN(>de(LinkNode*ptr=NULL){link=ptr;}LinkNode(constT&item,LinkNode*ptr=NULL){data=item;link=ptr;}};templateclassList{protected:LinkNode*first;public:List(){first=newLinkNode;}List(constT&x){first=newLinkNodc(x);}~List(){ma
8、keEmptyO;)voidmakeEmptyO;intLength()const;LinkNodc*gctHead()const{returnfirst;}LinkNode*Locate(inti);boolgetData(inti,T&x);boolInsert(inti,T&x);boolIsEmptyOconst{returnfirst->link==NULL?true:false;}boolIsFull()const{returnf
此文档下载收益归作者所有