我猜我猜猜猜!

来源 :电脑爱好者 | 被引量 : 0次 | 上传用户:yuyan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  编程,在大家的呼吁下重出江湖了!对编程爱好者无疑是个好消息。在编程上,我们主要面向初、中学习者,把一个程序讲透,讲明白。大家也可以多投稿,让CFan为编程爱好者们建立一个友好的学习平台。
  
  我是一名计算机专业的学生,早就考过计算机等级考试二级C++了。C++是我认为最优秀的编程语言,要让自己学得更快更好,我有一些经验。
  首先要舍得花时间,并且要能钻进去,找出编程的乐趣;将概念搞懂,多与老师、同学或爱好者讨论,对典型的例子一定要懂,然后模仿,就能熟能生巧;做大量实际的练习是必不可少的,可以多用C++来进行编程,提高自己的实战能力。开始是非常痛苦的,一定要坚持,坚持就是胜利!
  今天,我们要用C++来写一个简单的猜字母游戏。我们先来了解游戏规则。
  1.每次只能猜一个字母;
  2.限制猜错的次数;
  3.猜错的字母将被记录;
  4.每次猜测后,显示出已猜出字母、猜错的字母和余剩的机会;
  5.假如猜的字母在单词中,单词中所有的该字母将被视为已猜出,如单词是high,我们猜出了h,则程序应显示为h--h。
  程序设计:http://blog.cfan.com.cn/index.php/76976/action_viewspace_itemid_104893
  
  学前准备
  首先,我们应考虑怎样记录单词,其中包括原单词、猜错的字母、当前猜出的残缺单词。C++中带有一个功能强大的string类,它的声明在头文件string中。
  
  小提示
  string类是一个比较智能的类,它能够自动调整字符串的长度,这样,我们就不用担心浪费空间或者输入字符串超出对象末尾了。
  
  构造函数 说明
  string(const char* b) 将string对象初始化为字符串b
  string(size_type n,char b) 将对象初始化为有n个元素的对象,它们都是字符b
  string(const string& str,size_type pos=0,size_type n=npos) 将对象初始化为str中,从第pos个元素开始的n个元素
  
  最后,要实现拼字游戏,必须在对象中查找字符。string类已经提供了这方面的函数。
  方法 说明
  size_type find(char ab,size_type pos=0)const; 从字符串的pos位置开始,查找字符ab,若找到,返回第一个ab所在的索引,否则,返回string::npos。
  size_type find(const string& str,size_type pos=0)const; 从字符串的pos位置开始,查找字符串str,若找到,返回str的首字母所在索引,否则返回string::npos。
  size_type find (const char* a,size_type pos=0)const; 从字符串的pos位置开始,查找字符串a,若找到,返回s的首字母所在索引,否则返回string::npos。
  
  小提示
  若temp是一个string对象,内容为“high”,则temp.find('h')将返回1,即第一个字符h对应的索引。
  
  重点程序分析
  判断字母已被猜过
  if(badguess.find(guess)!=string::npos||
  player.find(guess)!=string::npos)
  {
  cout<<"对不起,这个字母猜过。";
  continue;
  }
  因为如果字母被猜过,那么它要么在玩家猜出的残缺单词中,要么处于错误字母集合中,我们用find函数在这两处分别进行了搜索。
  
  对于猜错后的处理
  int temp=first.find(guess);
  if(temp==string::npos)
  {
  cout<<"啊!猜错了。\n";
  guesses--;
  badguess+=guess;
  }//猜错后的处理
  先查找这个字符是否在单词中出现。如果没有出现,find函数将返回string::npos。npos是一个常量,比string能存储的最大元素数多1。如果没有出现,我们会将猜错的机会减去一次,再用了这个代码:badguess+=guess;将错误的字母加入到badguess对象中。
  
  该字母是否有多个
  temp=first.find(guess,temp+1);
  while(temp!=string::npos)
  {
  player[temp]=guess;
  temp=first.find(guess,temp+1);
  }
  最后,如果temp不是string::npos,那么说明我们猜对了。但可能这个单词中有多个这样的字母,所以,能过temp!=string::npos来判断是否单词中有多个该字母。
其他文献
软件小档案:FlashUnpack 1.04  文件大小:187KB  软件性质:免费软件  适用平台:Windows 2000/XP  下载地址:http://work.newhua.com/cfan/200711/flashunpack.rar    现在的信息太过泛滥,不管是解压缩也好,下载也好,越来越多的垃圾文件随着我们需要的文件一起“跑”出来,怎样才能让那些碍眼的垃圾文件通通都消失,只获
期刊
在我的工作中,经常需要重复“复制→新建文件本文件→粘贴→保存文件”的操作,时间长了,就觉得非常麻烦。现在,这个让我非常烦恼的问题终于解决了。    用EmEditor快速建立文本文件  EmEditor是很多人都在使用的文本编辑器,除了常规的编辑功能外,它同样可以帮你快速建立文件。  安装完EmEditor后,在系统托盘上就会产生软件图标,当剪贴板中有需要保存的文本数据时只要左键点击该图标,选择“
期刊
软件小档案:Total Uninstall  文件大小:2028KB  软件性质:共享软件  运行环境:Windows 9x/Me/NT/2000/XP/2003    时下各种病毒、木马、间谍软件、蠕虫泛滥,严重威胁系统的安全,虽然使用杀毒软件可以有效地防范和清除病毒,但是,各种新病毒千方百计会去终止运行中的杀软,难道我们就无计可施了吗?    2007年第10期,我们介绍了如何制作卡巴斯基的U
期刊
同事小李最近郁闷至极,用了多年的QQ号在一次上网之后不慎被盗,后来虽经多般努力进行申诉,最终找回了QQ,但是,QQ中的好友却被盗号者恶意删除多半,自己苦心经营的关系链几乎全部中断!送人玫瑰,手有余香!见小李整天愁眉苦脸的样子,我不禁动了恻隐之心,并最终帮小李找回了丢失的QQ好友,小李阴云密布的脸上又见到了久违的阳光。    好友丢了也能找回来  有朋友可能会问了,你有这么大的能耐?QQ好友删除后也
期刊
问:听说通过调节主板BIOS就能超频,是这样吗?(来自论坛提问)    答:是的。启动计算机,按“DEL”键,进入主板BIOS,选择“Frequency/Voltage Control(频率和电压控制)”设置窗口,用户可以对CPU的频率、工作电压、内存电压进行调节(见图)。  在频率和电压控制窗口中,一般有“CPU Ration Selection(CPU倍频选择)”,用来设置倍频,不过现在CPU
期刊
最近推出的暴风影音2.0版,新增了换肤功能,它的皮肤就是存放在软件安装文件夹下的skin文件夹当中的.zip文件,通过对“皮肤”文件的修改,就可以对影音播放界面进行调整,制作出独具个性的暴风影音播放界面。下面我们就来用它的换肤功能做一套属于自己的CFan专用版。    标题栏爱是什么就是什么  安装完暴风影音2.0后,在其skin文件夹当中会有一个“暴风2经典.zip”文件,这是它默认使用的“皮肤
期刊
软件小档案:笔画输入法  文件大小:240KB   软件版本:0.2 Beta  软件性质:免费软件  适用平台:Windows 9x/2000/XP,搜狗/谷歌输入法  下载地址::http://work.newhua.com/cfan/200711/bhsrf.rar    短信高手的秘密武器就是笔画输入法。手机上的笔画输入,就连中年人也能很快掌握。如今,利用新款“笔画输入法”,你也能成为PC
期刊
如今这年头啊,什么都流行万能,万能钥匙、万能驱动、万能播放器等等,有这万能的东西啊,就是省事!那么邮件客户端有没有万能的啊!如今的邮箱多种多样,每样来一个多麻烦啊!有个通吃的客户端吗?当然有,赶紧试试koomail吧!    软件小档案:koomail v3.48  文件大小:2.29MB  软件性质:免费软件  适用平台:Win9x/ME/NT//2000/2003/XP  下载地址:http:
期刊
软件更新  CFan Software Update 2007.16  Orbit Downloader 2.1.5  升级指数:★★★  虽然和迅雷的理念十分接近,但是因为国人用得少,所以P2P方式的下载加速作用不太明显,这次升级优化了它的FireFox插件和修正了一些小错误。  下载地址:http://dl.orbitdownloader.com/dl/OrbitDownloaderSetup
期刊
古语曰:“水不在深,有龙则灵”,一个演示文稿就像是水,而要想在这样的水中充满灵气,就应在演示文稿中添加出动画这条龙。上期中,我向大家介绍了演示文稿内文字动画的设计,本期和大家一起聊聊其他对象的动画设计。    只有将动画设置得效果合适、时机恰当,使动画与幻灯片的内容展示完美结合,动画才是画龙点睛之笔。    选择合适的动画效果  在PowerPoint中有4种动画方式,分别是“进入”、“强调”、“
期刊