欢迎来到天天文库
浏览记录
ID:40532858
大小:69.50 KB
页数:6页
时间:2019-08-04
《c++课程设计2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《用户猜测藏物位置》程序设计基础课程设计报告专业:电子信息工程班级:电信2班姓名:刘广江指导教师:高攀二O一二年二月二十日6目录1课程设计目的………………………………………………………22课程设计题目描述和要求…………………………………………2-33功能模块说明………………………………………………………3-44源文件………………………………………………………………4-55课程设计总结………………………………………………………56参考书目……………………………………………………………61.课程设计目的:通过
2、课程设计了解自己通过一学年的学习C++这门课到底学的怎么样,并将书本上的知识用于实践中,验证自己的学习成果,并进一步发现自己的不足并且改正.2.课程设计题目描述和要求:用户猜测藏物位置:计算机在n行n列(行号为0到n-1,列号为0到n-1)的“棋盘”的某一位置处“藏放一物件”(具体位置通过使用“rand()%10”来随机产生);用户通过输入行列号来“寻找”该物件;若没猜对时计算机要告诉用户与藏放物件的位置有多远(取整后的近似距离)。思考:若没猜对时也可增加告诉用户藏物的方向信息;另外在猜对结束时,还可告诉
3、用户共猜了几次。大致的思路为:1、为获得藏放某一物件的棋盘,可动态地创建一个二维数组;2、对创建的二位数组赋初值(所赋的值为1~m*n的连续整数);3、通过随机函数rand()来获取1~m*n之间的任一整数,并将值赋给N,N对应棋盘上的一个位置,即储物藏放的位置;4、6通过循环,先找到储物藏放的位置,在提示用户输入猜测的位置,通过比较这两组坐标是否相等,判断用户猜测是否正确;1、还可以设计一个循环,嵌套在上面的循环里,4中的循环每执行一次,该循环可以提供帮助,告诉用户储物藏放的位置和用户猜测位置之间的距离
4、。2、在4中,同时还应设计一个循环变量,用以计算用户猜测的次数。3.功能模块说明:1程序运行时,首先提示设置棋盘的行、列;2接下来,用户需输入猜测的位置的行、列,若正确,程序提示一共猜测了几次,若错误,程序告知猜测位置与储物位置之间的距离是多少,帮助用户找到储物……3、反复执行2,直到找到储物的位置为止。运行实例:进一步改进:能够添加更多的用于帮助用户的部分:6比如,为了游戏的趣味性,还可以限制猜测的次数。设计一个结构,在猜测的次数到达一定值之后,跳出循环,终止程序。4.源程序:#include5、ream.h>#include//用到了随机函数#include#includeintmain(){inti,j,m,n;cout<<"请设置行、列:";cin>>m>>n;//动态的创建一个二维数组(通过指针数组)int**guess;guess=newint*[m];for(j=0;j6、n+j+1;}//通过随机函数,设置箱子的位置//表示a~b的话,a+rand()%(b-a+1)intN;srand((unsigned)time(NULL));/*播种子*/N=rand()%(m*n);//设置一个循环,进行猜词游戏intx,y,z;//z是两坐标之间的距离intt=1;//t是一个统计变量inta,b;//N的位置for(i=0;i7、out<<"请输入你猜的坐标:";cin>>x>>y;if(x==a&&y==b)break;//距离判断z=(a-x)*(a-x)+(b-y)*(b-y);cout<<"与该物体的距离是:"<a)cout<<"可能是向左移且";elsecout<<"可能是向右移且";if(y>b)cout<<"向下移!";elsecout<<"向上移!";cout<8、<
5、ream.h>#include//用到了随机函数#include#includeintmain(){inti,j,m,n;cout<<"请设置行、列:";cin>>m>>n;//动态的创建一个二维数组(通过指针数组)int**guess;guess=newint*[m];for(j=0;j6、n+j+1;}//通过随机函数,设置箱子的位置//表示a~b的话,a+rand()%(b-a+1)intN;srand((unsigned)time(NULL));/*播种子*/N=rand()%(m*n);//设置一个循环,进行猜词游戏intx,y,z;//z是两坐标之间的距离intt=1;//t是一个统计变量inta,b;//N的位置for(i=0;i7、out<<"请输入你猜的坐标:";cin>>x>>y;if(x==a&&y==b)break;//距离判断z=(a-x)*(a-x)+(b-y)*(b-y);cout<<"与该物体的距离是:"<a)cout<<"可能是向左移且";elsecout<<"可能是向右移且";if(y>b)cout<<"向下移!";elsecout<<"向上移!";cout<8、<
6、n+j+1;}//通过随机函数,设置箱子的位置//表示a~b的话,a+rand()%(b-a+1)intN;srand((unsigned)time(NULL));/*播种子*/N=rand()%(m*n);//设置一个循环,进行猜词游戏intx,y,z;//z是两坐标之间的距离intt=1;//t是一个统计变量inta,b;//N的位置for(i=0;i7、out<<"请输入你猜的坐标:";cin>>x>>y;if(x==a&&y==b)break;//距离判断z=(a-x)*(a-x)+(b-y)*(b-y);cout<<"与该物体的距离是:"<a)cout<<"可能是向左移且";elsecout<<"可能是向右移且";if(y>b)cout<<"向下移!";elsecout<<"向上移!";cout<8、<
7、out<<"请输入你猜的坐标:";cin>>x>>y;if(x==a&&y==b)break;//距离判断z=(a-x)*(a-x)+(b-y)*(b-y);cout<<"与该物体的距离是:"<a)cout<<"可能是向左移且";elsecout<<"可能是向右移且";if(y>b)cout<<"向下移!";elsecout<<"向上移!";cout<8、<
8、<
此文档下载收益归作者所有