C++模拟醉汉游动问题

C++模拟醉汉游动问题

ID:37974379

大小:40.72 KB

页数:7页

时间:2019-06-04

C++模拟醉汉游动问题_第1页
C++模拟醉汉游动问题_第2页
C++模拟醉汉游动问题_第3页
C++模拟醉汉游动问题_第4页
C++模拟醉汉游动问题_第5页
资源描述:

《C++模拟醉汉游动问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++模拟醉汉游动问题问题如下:有一个醉汉,把他领到街灯柱子下面,这个人开始游动,但醉汉每一步的方向都是随机的(与前一步不同)。问,这个人走到离开灯柱50英尺远的地方需要多少步(假定醉汉每一步都是2英尺)。OOP更是一种编程思想,声明与实现分离。这里定义一个向量类来解决,共包含三个文件,vector.h,vector.cpp,main.cpp1.先定义一个Vector类//vector.h---Vectorclasswith<<,modestate#ifndefVECTOR_H_#defineVECTOR_H_#include

2、stream>namespaceVECTOR{classVector{public:enumMode{RECT,POL};private://RECTforrectangular,POLforpolarmodes//enumMode{RECT,POL};doublex;doubley;doublemag;doubleang;Modemode;voidset_mag();voidset_ang();voidset_x();voidset_y();public:Vector();Vector(doublen1,doublen2,Mode

3、form=RECT);voidreset(doublen1,doublen2,Modeform=RECT);~Vector();doublexval()const{returnx;}doubleyval()const{7returny;}doublemagval()const{returnmag;}doubleangval()const{returnang;}voidset_polar_mode();voidset_rect_mode();//operatoroverloadingVectoroperator+(constVecto

4、r&b)const;Vectoroperator-(constVector&b)const;Vectoroperator-()const;Vectoroperator*(doublen)const;//friendfriendVectoroperator*(doublen,constVector&b);//keyfunctiontomakefacefriendstd::ostream&operator<<(std::ostream&os,Vector&v);};}#endif2.给出这个类以及其他函数的定义//vector.cpp-

5、--methodsfortheVectorclass#include#include#include"vector.h"usingstd::sqrt;usingstd::sin;usingstd::cos;usingstd::atan2;//atanusingstd::cout;namespaceVECTOR{//radiustodegree180/piconstdoublepi=3.14159;constdoublerad_2_def=180/pi;voidVector::set_mag(){ma

6、g=sqrt(x*x+y*y);7}voidVector::set_ang(){ang=atan2(y,x);}voidVector::set_x(){x=mag*cos(ang);}voidVector::set_y(){y=sin(ang);}Vector::Vector(){x=y=0,0;//set_mag();//set_ang();mag=ang=0.0;mode=RECT;}Vector::Vector(doublen1,doublen2,Modeform){if(form==RECT){x=n1;y=n2;set_m

7、ag();set_ang();}else{//form==POLmag=n1;ang=n2/rad_2_def;//converttoradiusset_x();set_y();}//setmodeaccordingtoformmode=form;}voidVector::reset(doublen1,doublen2,Modeform){if(form==RECT){x=n1;y=n2;set_mag();7set_ang();}else{mag=n1;ang=n2/rad_2_def;//converttoradiusset_x

8、();set_y();}//setmodeaccordingtoformmode=form;}Vector::~Vector(){}voidVector::set_rect_mode(){mode=RECT;}voidVector::

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。