毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

C++猜测随机存放物品的位置坐标

更新时间:2011-5-7:  来源:毕业论文

C++猜测随机存放物品的位置坐标
需求分析
用户猜测藏物位置:计算机在10行10列(行号为0到9,列号为0到9)的“棋盘”的某一位置处“藏放一物件”(具体位置通过使用“rand()%10”来随机产生);用户通过输入行列号来“寻找”该物件;若没猜对时计算机要告诉用户与藏放物件的位置有多远(取整后的近似距离)。
思考:若没猜对时也可增加告诉用户藏物的方向信息;另外在猜对结束时,还可告诉用户共猜了几次。
要画出一个坐标,利用随机产生函数产生物品的真实坐标,然后用户猜测物品的坐标,如果猜对给出提示信息,如果猜错告诉用户具体方位.
5.2概要设计
利用坐标图函数画出作标图,而后通过随机函数产生物品坐标,通过用户猜测给出提示信息.
5.3详细设计与编码
代码见上传实验
流程图如下
主函数流程图
猜测的流程图
作标图流程图
5.4调试分析
运行程序,会弹出一个坐标图和提示文字,提示用户输入坐标,
输入坐标5,5,会发现系统的提示,根据提示在输入坐标,直到最后找到物品的真实坐标为止.
5.5用户使用说明
运行程序,用户根据提示猜测物品所在地,然后在根据提示继续猜测直到找到真实坐标即可
5.6设计心得.
本实验关键是要解决真实坐标和猜测坐标的相对位置的计算问题,其中用到了一些函数,一定要细心应用.
#include <iostream>
#include <time.h>
#include <cmath>
using namespace std;

int posX,posY;         //棋盘中所藏物品的真实位置
//声明各种函数
void wupin(int& x,int& y);  //随机产生所藏物品的位置
void locate(int x,int y);     //猜测物品位置
void zuoBiaoTu();        //打印坐标图

int main()               //主函数
{
 int qiPan[10][10];    //10行10列的“棋盘”
 int count=0;        //记录猜测次数
 for(int i=0;i<10;i++)
  for(int j=0;j<10;j++)
   qiPan[i][j]=-1;

 zuoBiaoTu();          //打印坐标图

 wupin(posX,posY);
 cout <<"10行10列的棋盘中的某一位置已经藏放了一个物件,请猜测它的位置(X坐标0~9,Y坐标0~9)"<<endl;

 int x,y;
 while(true)
 {
  cout <<"请输入坐标(X和Y): ";
  cin >>x>>y;
  count++;       //猜测次数加1
  if(x==posX && y==posY)
  {
   cout <<"恭喜您猜对了!"<<endl;
   break;
  }
  else
  {
   locate(x,y);        //给出对于藏放物品的相对位置
  }
 }
 cout <<"您一共猜了 "<<count<<" 次."<<endl;


 return 0;
}


void wupin(int& x,int& y)     //产生两个一位的随机数的函数
{
 time_t t;                    
    srand((unsigned)time(&t));  
    x=rand()%10;
    y=rand()%10;
}

void locate(int x,int y)   //给出x和y对于物品藏放位置的相对位置
{
 int xlength=x-posX,ylength=y-posY;       
 int length;
 if(xlength>0)
  cout <<"左";
 if(xlength<0)
  cout <<"右";
 if(ylength>0)
  cout <<"上";
 if(ylength<0)
  cout <<"下";
原文请找腾讯752018766优,文-论'文.网http://www.youerw.com }

void zuoBiaoTu()        //打印出坐标图
{
 for(int i=0;i<22;i++)
  cout <<"-";
 cout <<"> X"<<endl<<"|";
 for(int j=0;j<10;j++)
  cout <<j<<" ";

 cout <<endl;
 for(int k=1;k<10;k++)
  cout <<"|"<<k<<endl;
 cout <<"\\/"<<endl<<"Y"; cout <<endl;}1819

C++猜测随机存放物品的位置坐标下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。