版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一、课题设计的内容与主要功能 21.1 题目内容 21.2 功能 2二课题分析 22.1 项目的实现方法 22.2 类的声明 32.3 核心算法及其实现代码 42.3 程序流程图 7三主要功能的实现步骤 8四程序测试 84.1 测试计划 84.2 测试过程 9五、总结 12六、参考书籍 14七、附件 157.1 程序的源代码 15评分表 27、课题设计的内容与主要功能1.1 题目内容编写程序实现投掷双骰子游戏,游戏规则为:游戏者每次投掷两颗骰子 , 每 颗骰子是一个正方体 ,有 6面上面分别标有 1、2、3、4、5、6个圆点,当骰子停 止时, 将每颗骰子朝上的点的数相加 ,在第一次投掷骰时
2、 , 如果所得到的和为 7 或 11, 那么游戏者为赢得胜利 ; 如果所得到的和为 2、 3 或 12,那么游戏者为输 掉了;如果和为 4、5、6、8、9或 10,那么为游戏者的点数 ;如要想赢得胜利, 必须继续投掷骰子, 直到取得自已的点数为止 , 但是如果投掷出的和为 7 或者连 续投掷了 6 次仍未赚得点数,那么游戏者为输了。1.2 功能该游戏的主要功能为:实现随机投掷两个骰子把其所得点数相加,然后根 据点数和判断玩家的输、 赢或平局。在游戏中有 1. 获得帮助 2. 玩一手游戏 3. 退出游戏 三个提示,分别为玩家提供帮助指示、选择进入新的游戏、退出当前 的游戏并为该局游戏显示游戏结果
3、。课题分析2.1 项目的实现方法这种小型的游戏的开发方法可以采用结构化方法分析与设计。首先,分析软件 的逻辑模型,也就是这个软件需要“做什么” 。然后,再建立软件的物理模型, 既要“怎么做” 的工程。该个程序由 main() 函数、实用的程序软件包 utility.h 文 件 及 骰 子 游 戏 dice_game.h 文 件 组 成 , 在 main() 函 数 中 , 先 建 立 类DiceGame的对象objGame并调用类DiceGame的构造函数,为类的数据成员 赋初值并开始游戏,再用对象 objGame访问类的成员函数Game(),进入游戏, 通过选项玩家选择进入游戏或退出游戏。在
4、函数Game()中,先调用Help()函数显示游戏规则,并调用 utility.h 文件 Rand类中SetRandSeed()函数设定当前时间为随机数种子,进入while循环中, 显示游戏选项,玩家可选择 1. 获得帮助 然后调用成员函数 Help() 显示提示;2. 玩一手游戏 然后调用成员函数 RollDice() ,把随机的两个骰子的点数赋值 给整形数sum,通过switch()语句判断玩家输、赢或者平局。若玩家第一盘为 平局状态为TIE,则该局骰子和为玩家的点数把sum赋值给myPoint,玩家可通过调用utility.h 文件中的UserSaysYes()函数选择继续投骰子,直到赚
5、到 该点数时获胜状态为 WIN但是用if语句判断如果投掷出的和为7或者连续投 掷出六次平局,则游戏者该局为输了LOSE最后用while循环中的if语句为每一次输赢和平局计数并显示玩家的输赢的语句。3. 退出游戏 然后调用utility.h文件中的UserSaysYes()函数让玩家确定是否退出,退出后通过调用成员函数Show()显示游戏结果,游戏结束!2.2 类的声明文件 dice_game.h 中定义一个筛子游戏类DiceGame其声明如下:class DiceGamePrivate/数据成员 :int numOfWin;/胜利数次int numOfLose;/失败数次int numOfTi
6、e;/平局数次/ 辅助函数int RollDice();/模拟投掷一次骰子void Help();/获得帮助void Show();/显示统计结果public:/ 方法声明 :/ 无参数的构造函数/ 析构函数/ 模拟游戏DiceGame(); virtual DiceGame() void Game ();2.3 核心算法及其实现代码1. 设计当前时间为随机数种子,模拟投掷一次两个骰子 , 返回值为所投掷int DiceGame:RollDice() /的两颗骰子向上一面的点数之和。代码如下int numOfDice1;/ 所投掷的第 1 颗骰子向上一面的点数int numOfDice2/ 所
7、投掷的第 2 颗骰子向上一面的点数int sum;/ 所投掷的两颗骰子向上一面的点数之和模拟投掷一次骰子 , 返回值为所投的两颗 骰子向上一面的点数之和numOfDice1 = 1 + Rand:GetRand(6); / 模拟所投掷骰子 1 的点数numOfDice2 = 1 + Rand:GetRand(6); / 模拟所投掷骰子 2 的点数 sum = numOfDice1 + numOfDice2;/ 计算所投掷两颗骰子向上一面的点 数之和cout << " 选手掷骰子 :" << numOfDice1 << "+&qu
8、ot; << numOfDice2 << "=" << sum << endl;return sum; / 返回所掷骰子向上一面点数之和2. 通过 if 选择语句进入游戏项目 2,模拟第一次投掷骰子,并用 switch 开关语句来判断枚举量 status 的状态是输、赢或者平局,如果是平局,则记录点数。代码如下:if(select=2) / sum=RollDice();switch(sum)输入 2/模拟掷骰子case 7:/掷得 7或 11 胜利case 11:status=WIN; numOfWin+; break;投掷
9、得 2、 3、 12,输了case 2: /case 3:case 12:status=LOSE;numOfLose+;break;default: / 投得其他数值,处于平局status=TIE;myPoint=sum;numOfTie+;cout<<" 点数 "<<myPoint<<endl;3. 通过 status 的状态用 if 条件语句判断玩家的输赢,如果是平局,既 status=TIE 时,利用 UserSaysYes() 函数让玩家选择是否继续游戏。若玩家选择继续游戏,则依然用 if 条件语句判断 status 的状态来判断
10、输赢,只有玩 家在六次以内再次投掷到相同的点数时,玩家即胜利,但是,若首先投掷到的 点数和为 7 或者连续 6 次都是平局,则游戏为输了。代码如下:while(1)if(status=WIN)cout<<" 恭喜你,赢得游戏! "<<endl; break; if(status=LOSE)cout<<" 很遗憾,你输了! "<<endl; break;while(status=TIE)cout<<" 你现在是平局,是否要继续游戏if(UserSaysYes()int again;aga
11、in=RollDice(); /if(myPoint=again) / status=WIN; numOfWin+;处于平局再次掷骰子 掷得自己的点数, 赢得胜利11break;else if(again=7) / status=LOSE; numOfLose+; break;else /numOfTie+;if(numOfTie = 6) / status=LOSE;掷得 7,输了平局平局 6 次,输了cout<<" 你已平局 6 次,"break;4. 如果玩家的输入有误,则需用if条件语句判断,并提示正确的输入。代 码如下:if(select!=1 &am
12、p;&select!=2&&select!=3) /若输入不是 1,2,3 重新输入cout«"请用 1,2,3 回答"<<endl;con ti nue;2.3程序流程图T按任意键退出主要功能的实现步骤1. 获得帮助玩家输入选择 select 为 1,通过条件语句 if(select=1) 判断是否满足条件, 然后再调用类的成员函数 Help() ,则显示帮助信息。2. 选择一手游戏玩家输入选择 select 为 2,在 while 循环中通过 if(select=2) 语句判断是 否符合条件, 再调用类的成员函数 RollD
13、ice() 模拟投掷一次骰子 , 返回值为所投 掷的两颗骰子向上一面的点数之和,把RollDice()的返回值赋值给sum再通过 开关语句 switch(sum) 判断玩家第一手的输赢。若为平局,则该点数为玩家的点 数,玩家可选择是否继续游戏 if(UserSaysYes() ,若玩家选择 y, 则可以再次投 掷骰子 again=RollDice() ,掷自己的点数 if(myPoint=again) 则胜利;若玩家 先投掷出点数 7 既 else if(again=7) 或者平局次数达到 6 次 if(numOfTie = 6) ,则判断玩家为输了。3. 退出游戏玩家输入选择 select
14、为 3,在 while() 驯悍中通过语句 else if(select=3) 判断,用语句if(UserSaysYes()确认玩家是否要退出游戏,若回答为”y ”则跳出循环break,最后程序会调用类的成员函数Show()显示玩家游戏的结果。四程序测试4.1 测试计划 游戏开始进入的界面及显示提示 获得帮助 进入游戏并测试每一个路径(既测试每一种可能的结果) 退出游戏选项的测试4.2测试过程1.游戏开始时的界面及玩家选项的提示W Y :日航ku我的文那就洪谍程设计程序'我的Debugdicegame .exe'*游戏者拜次投掷两颗骰子每个跟士6面上面分别标有J 2. 3. 4
15、.氐&个圆所得到的和为?或12的和为趴3或iw,那:、8. 910那么为2须继续投掷骰子,直到取得亍 挪出的和为?或投掷召次仍未赚到该点数,则游戏者为输了.期戏者为贏得胜利*如果所得到 織者为输菇了;如果和为乐5. 6 渚的点藪汝啜想責無胜利,必 疇自旦的是如杲投;如杲和为抵5、65T JrB-«=- <e uL =Cii I2.若玩家输入有误,则需提醒玩家输入正确的选项进入游戏西:帥:也叭養的文苕张洪課程设计程序>®Debugdicegame.exe-游戏开始游戏者無次投挪两颗骰子每代 B面上面分别标有1、久3> 4、5、64 瘠每个酸子期上的点
16、的魁目加.在堇 斫得到的和为樓八那么游戏者为赢 直和为趴312,那么渺幾者为输揮 *910,那么为游囁,须继续投掷骰子,直到取得p -掷出的和为7或投掷6次仍未赚到该点数,则游戏者为输了.瞬郴T=m>H是一个正方f本"有 点”当囂子停止蒔瑜如果所得到 如果和为久5、6 _辱胜利,必 旦是如果投加用J 2, 3回答3. 若玩家中途忘记游戏规则,则课选择选项 1,进入帮助提醒的界面我的文苕'张洪課程设计、程序我的Debugdicegame.exe,-ill时个!-爲果到6必投了 杠止如得乩必品输 亦停所礼如为 旦一抿;融一畐 是屯幕ST则 是,次胜技觌为- 一得了骡数 第言
17、澤2点 在为曩的该 者为点己到 子4.取戏者的轟 骰未 颗彳憫么寒取仍 掷沐雳直聃 堆有上或裁 助專 帮 t E 弓 Il -,么,2粤10掷为 的2.或投和 到为9续的 尊和氛继出iiIlr4. 玩家选择选项2,进入游戏,并在第一次投掷中获得胜利"DABackupVS的空苕、张洪谨程设计程序我的Wbu"d贬审 陀上)(寸游裁者每次投掷两颗陨子每个骰壬是一个正方体"有 鹵轧当骰子传止研 骰子朝上的点的数怕加在望一次w - 得到的和为?或",那么渺戏者为羸得胜秫册举£书垄X仅舛闵秘赵于亠甘丁取面上面分别标有2. 3, 4, 5, G个4. 5,
18、G爲每个備裁體勰禮越扭和为仝嘯診吟戏者为输顷继续我邂骰子,直到卿鸭己电宀 郑出的莉为?或投掷右次仍未瞬到该点数,则游戏者为输了-llr|选zttz-r:2+5-7風得用迤1llr退出Si5. 玩家进入游戏,第一次投掷获得点数,但最后投掷出了点数是7,所以失败了y7fl=9是巧曰疋白疋=6是T 6 1 5 3 4 T6 咸:4+咸:6+咼=3*咸:3+输 子平车丰车石 骰是骰是骰是骰是骰 pp 1B-E B-Enbks 手数现手现手现手现手 请E-B,広选点祢选祢选你选你选很戏 助枣 帮诒 在得一岀 繋玩退裁 助枣 帮霑 车得一出 喙玩退 膚tj.E.B.6. 玩家第一希投掷为平局,获得点数,但
19、在接下来的次投掷中连续6次平局,由 游戏规则可知,玩家在此局中又失败了SJ帥:也叭孫的龙若张洪課程设计程序>®Debugdiceame.exe-戏助寒 帮不 程得一出手数现手现手现手现手现手已在掷在那在掷在揶在簞疋骰是骰是骰是骰是贅局:3局:4局:2局:2局:6匕 平 子6»-8是410遗V-n>?y7. 玩豕玩元了游戏,选择选项3退出游戏,并显示玩豕在此次游戏中的结果W "D:eackupS的童苕张洪踝程设计'程序>Debugdicegame,exe-戌数5你现在是平局,星否要继续游戏3 否要继续游戏® 选手Wi=4 你现在是
20、辛局爲応是爭局,是否要继续游戏3 嚏手輕骰© 徐现社是丄.L1号 口 if 4+4=8J,是否要继续游戏:2+1=3h:2+2=4F局,是否要继续游戏a. 运手那戳子=6+4=10 你己苹舄6次,很遗憾.你输了!n>?y请酔1-获得帮助2 -页一宇陆戏為退岀瞬爱3<4 n>?y选手祜戏统计;探胜1次去辭次年髙丘次请按任意键继续-五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题, 锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察的过程。而C+乍为一门编程语言,对于我们自动化专业以后的学习和工作有着重要的作用, 所以我们必须努力学习
21、好并灵活运用。回顾此次C+课程设计,至今我仍感慨颇多。的确,从分析课题到最终的完 成报告,从理论到实践,在整整一个星期的日子里,可以说得上是苦多于甜。但 是通过这次课程设计确实学到了很多很多的的东西,不仅巩固了大一时学习的 C+知识,而且通过多次上机操作学到了很多在书本上所没有学到过的知识,同 时通过这一次实习,更加熟练了自己的使用编程软件 VC6.0的操作技能。在这一 次的实习中,把学习的C+知识运用到编写一个小型游戏软件,也学习了一些软 件工程基本的内容和过程。自己亲身编写一个软件,虽然过程是艰难的,但是当 最终看到自己的程序运行出了预期的结果时,那一刻,心里的确挺自豪的,也是 通过这一次
22、实习的过程, 发现编程是一个挺有成就感的工作, 点燃了自己对编程 的热情。我想,在这次实习之后,我会多看看这方面的书籍,发展自己编程方面 的兴趣。同时, 在设计的过程中我也发现了自己的不足之处, 对以前所学过的知 识理解得不够深刻,掌握得不够牢固,比如说对程序编译后的错误的分析不熟练、 对编程软件中的功能也不能很熟练的使用、 对较复杂的各个语句的关系的分析不 是很清楚所以在这次课程设计之后, 我一定要多注意练习这些方面的不足之 处,努力完善自己。通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论, 才能真正
23、为社会服务, 从而提高自己的实际动手能力和独立思考的能力。 回想自 己在最开始的编写程序的过程,的确充满了困难,如:在怎么把自己的想法用 C+语言来实现上;各个循环语句、条件语句、开关语句的运用和包含关系,真 的让我耗尽了精力!记得在软件工程这本书中看过一句话“测试只能证明错 误的存在,但不能证明错误的不存在” ,由测试结果得出,我所完成的程序已完 成了计划的内容和功能, 符合了最初的研制要求, 并适当改进和实现了游戏的规 则(游戏平局次数不能超过 6 次,否则这一句为游戏者输了) ,但是我相信这个 程序还是有很多地方可以改进, 例如:尽管已近设定了条件语句 if(select!=1&
24、&select!=2&&select!=3) 来限制玩家的选择,但是当玩家进入游 戏时,输入错误的提示若为字母, 则程序会自动进入一个死循环等这些还是 需要自己后续的改进。在自己这一次亲身体会编写程序中,切身实际的感受到 C+语言的特点。如:C+的通过类和对象来实现封装性。我所编写的Game()函数就是类DiceGame的成员函数,其中就涉及到了许多类的数据成员和成员函 数的访问。同时,我感受到 C+语言的风格也是比较简练明了的。同时,在这次课程设计中, 我深刻感受到与人合作的力量的强大。 特别是在 编写程序中出现错误时,而由于自己身在“程序之中” ,一时无法发现自己的
25、一 些潜意识的错误, 此时,别人的帮助检查程序的确帮我省了很多无用功, 也非常 感谢老师和同学给与了我很多对程序改进的建议。这次课程设计终于顺利完成了, 在设计中遇到了很多编程问题, 最后在老师 的辛勤指导下, 最终还是迎刃而解。 同时,对给过我帮助的所有同学和各位指导 老师表示忠心的感谢六、参考书籍C+语言程序设计教程 吕凤翥著人民邮电出版社实用面向对象软件工程教程 Edward Yourdon,Carl Argila 版社著 电子工业出机械工业出版社C+编程思想:标准C+导引,(美)Bruce Eckel著35七、附件7.1 程序的源代码Main() 文件:/#include "
26、utility.h"/#include "dice_game.h"/int main(void)/DiceGame objGame;/objGame.Game();/system("PAUSE");/return 0;/ dice_game.h 文件:/#ifndef _DICE_GAME_H_/#define _DICE_GAME_H_/ 文件路径名 :dice_gamemain.cpp实用程序软件包骰子游戏主函数 main(void)骰子游戏对象运行游戏调用库函数 system()返回值 0, 返回操作系统文件路径名 : dice_game
27、dice_game.h 如果没有定义 _DICE_GAME_H_ 那么定义 _DICE_GAME_H_typedef enumWIN, LOSE, TIE GameStatus;/ WIN:赢丄OSE:输,TIE:平局 /骰子游戏类DiceGame声明 class DiceGameprivate:/ 数据成员 :/胜利数次/失败数次/ 平局数次int numOfWin;int numOfLose;int numOfTie;/ 模拟投掷一次骰子/ 获得帮助/ 显示统计结果/无参数的构造函数/析构函数/模拟游戏/初始化骰子游戏/胜利数次/失败数次/ 平局数次模拟投掷一次骰子 , 返回值为所投掷 的
28、两颗骰子向上一面的点数之和/所投掷的第 1 颗骰子向上一面的点数/所投掷的第 2 颗骰子向上一面的点数/ 所投掷的两颗骰子向上一面的点数之和/ 辅助函数int RollDice();void Help();void Show();public:/ 方法声明 : DiceGame(); virtual DiceGame() void Game();/骰子游戏类DiceGame的实现部分 DiceGame:DiceGame()numOfWin = 0; numOfLose = 0;numOfTie = 0;cout << " 游戏开始 " << endl
29、;int DiceGame:RollDice() /int numOfDice1;int numOfDice2;int sum;numOfDice1 = 1 + Rand:GetRand(6); /模拟所投掷骰子 1 的点数numOfDice2 = 1 + Rand:GetRand(6); /模拟所投掷骰子 2 的点数 sum = numOfDice1 + numOfDice2; / 计算所投掷两颗骰子向上一面的 点数之和cout << "选手掷骰子 :" << numOfDice1 << "+" << n
30、umOfDice2 << "=" << sum << endl;return sum; / 返回所掷骰子向上一面点数之和void DiceGame:Help() / 获得帮助cout << "游戏者每次投掷两颗骰子 , 每个骰子是一个正方体 , 有" << endl;cout << "6 面上面分别标有 1、2、3、4、5、6 个圆点 , 当骰子停止时 " << endl;cout << ", 将每个骰子朝上的点的数相加 , 在第
31、一次投掷骰时 , 如果 " << endl;cout << " 所得到的和为 7 或 11,那么游戏者为赢得胜利 ; 如果所得到 " << endl;cout << "的和为 2、3或12,那么游戏者为输掉了 ;如果和为 4、5、6" << endl; cout << " 、8、9 或 10,那么为游戏者的点数 ; 如要想赢得胜利, 必 " << endl; cout << "须继续投掷骰子,直到取得自已的点数为止 ,
32、但是如果投 " << endl;cout << "掷出的和为 7或投掷 6 次仍未赚到该点数,则游戏者为输了 ." << endl << endl;void DiceGame:Show() / 显示统计结果 cout << " 选手游戏统计 :" << endl;cout <<"获胜" << numOfWin << " 次" << endl;cout <<"失败&q
33、uot; << numOfLose << " 次" << endl;cout << " 平局" << numOfTie << " 次" << endl;void DiceGame:Game()/ 模拟游戏/ 游戏状态/ 设置当前时间为随机数种子/ 获得帮助int select = 1; int sum, myPoint; GameStatus status;Rand:SetRandSeed(); Help();while(select!=3)cout
34、<< endl << endl << " 请选择 :" << endl;cout << "1. 获得帮助 " << endl;cout << "2. 玩一手游戏 " << endl;cout << "3. 退出游戏 " << endl;cin >> select; / 输入选择重新输if(select!=1&&select!=2&&select!=3)
35、/ 若输入不是 1 ,2,3 入coutvv" 请用 1, 2, 3 回答"<<endl;continue;if(1)while(select=1) /输入 1,帮助Help();break;if(select=2)/输入 2sum=RollDice(); / switch(sum) case 7:/case 11: status=WIN; numOfWin+; break;case 2: / case 3: case 12:status=LOSE; numOfLose+; break;default: / status=TIE; myPoint=sum; nu
36、mOfTie+; cout<<"模拟掷骰子掷得 7或 11胜利投掷得 2、 3、 12,输了投得其他数值,处于平局点数"myPo in t<<e ndl;while(1) if(status=WIN)cout<<" 恭喜你,赢得游戏! "<<endl; break;if(status=LOSE)cout<<" 很遗憾,你输了! "<<endl; break;while(status=TIE)cout<<" 你现在是平局 if(UserSays
37、Yes() int again; again=RollDice(); / if(myPoint=again) / status=WIN; numOfWin+;break;else if(again=7) / status=LOSE; numOfLose+; break;else /numOfTie+;if(numOfTie = 6) / status=LOSE; cout<<" break;是否要继续游戏处于平局再次掷骰子 掷得自己的点数,赢得胜利掷得 7,输了平局平局 6 次,输了你已平局 6 次,else if(select=3) /输入为 3if(UserSaysY
38、es() /退出游戏break;elseselect=1; /返回游戏Show(); / 显示统计结果 #endif Utility.h 文件: #ifndef _UTILITY_H_ #define _UTILITY_H/ 如果没有定义 _UTILITY_H/ 那么定义 _UTILITY_H_/ 实用程序工具包#ifdef _MSC_VER #if _MSC_VER = 1200/ 标准库头文件#include <string.h>/ 表示是 Visual C+/ 表示 Visual C+6.0/ 标准串和操作#include <iostream.h>/标准流操作#i
39、nclude <limits.h>/极限#include <math.h>/数据函数#include <fstream.h>/文件输入输出#include <ctype.h>/字符处理#include <time.h>/日期和时间函数#include <stdlib.h>/标准库#include <stdio.h>/标准输入输出#include <iomanip.h>/输入输出流格式设置#include <stdarg.h>/支持变长函数参数#include <assert.h&g
40、t;/支持断言#else/ 其它版本的 Visual C+/ ANSI C+ 标准库头文件#include <string>/标准串和操作#include <iostream>/标准流操作#include <limits>/极限#include <cmath>/数据函数#include <fstream>/文件输入输出#include <cctype>/字符处理#include <ctime>/日期和时间函数#include <cstdlib>/标准库#include <cstdio>/
41、标准输入输出#include <iomanip>/输入输出流格式设置#include <cstdarg>/支持变长函数参数#include <cassert>/支持断言using namespace std;/标准库包含在命名空间 std 中#endif#else/ _MSC_VER = 1200 / 非 Visual C+/ ANSI C+ 标准库头文件#include <string>/标准串操作#include <iostream>/标准流操作#include <limits>/极限#include <cmat
42、h>/数据函数#include <fstream>/文件输入输出#include <cctype>/字符处理#include <ctime>/日期和时间函数#include <cstdlib>/标准库#include <cstdio>/标准输入输出#include <iomanip>/输入输出流格式设置#include <cstdarg>/支持变长函数参数#include <cassert>/支持断言using namespace std;/标准库包含在命名空间 std 中#endif/ _M
43、SC_VER/ 实用函数char GetChar(istream &inStream = cin); /bool UserSaysYes(); / 函数模板template <class ElemType >void Swap(ElemType &e1, ElemType &e2); template<class ElemType>void Display(ElemType elem, int n);从输入流 inStream 中跳过空格 及制表符获取一字符 当用户肯定回答 (yes) 时 , 返回 true 用户否定回答 (no) 时, 返回
44、false/ 交换 e1, e2 之值/ 显示数组 elem 的各数据元素值/ 实用类 class Timer;/计时器类 Timerclass Error; / class Rand; /char GetChar(istream &in) /char ch; /通用异常类随机数类 Rand从输入流 in 中跳过空格及制表一字符临时变量while (ch = in.peek() != EOF/ 文件结束符 (peek() 函数从输入流中接受 1&& (ch = in.get() = ' ' 流/ 字符, 流的当前位置不变 )| ch = 't
45、39;); return ch;/空格(get()函数从输入流中接受1字符,bool UserSaysYes() /当用户肯定回答 (yes) 时 , 返回 true, 用户否定回答 (no) 时 , 返回 false/ 的当前位置向后移 1 个位置 )/ 制表符/ 返回字符char ch;/ 用户回答字符bool initialResponse = true; /初始回答do /循环直到用户输入恰当的回答为止if (initialResponse) cout << "(y, n)?" / else cout << " 用 y 或 n 回答 :" while (ch = GetChar() = 'n');/initialResponse = false;初始回答/ 非初始回答跳过空格 , 制表符及换 行符获取一字符/ 非初始回答 while (c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年临沧c1客运资格证考试
- 拆迁要求市场补偿申请书
- 吉首大学《竞技武术套路3》2021-2022学年第一学期期末试卷
- 吉首大学《地理信息系统应用》2021-2022学年第一学期期末试卷
- 吉林艺术学院《影片制作》2021-2022学年第一学期期末试卷
- 吉林艺术学院《声乐基础训练Ⅱ》2021-2022学年第一学期期末试卷
- 门店充电宝签约协议书范本模板
- 吉林艺术学院《表演艺术公共文化服务》2021-2022学年第一学期期末试卷
- 吉林师范大学《招聘与甄选》2021-2022学年第一学期期末试卷
- 2024年大型饭堂采购合同范本
- 前置胎盘详解课件
- 达尔文的“进化论”课件
- 国开电大《建筑测量》实验报告1
- 《火灾自动报警系统设计规范》
- 南京市小学一年级语文上学期期中试卷
- 合肥工业大学-孙冠东-答辩通用PPT模板
- 国开作业《管理学基础》管理实训:第一章访问一个工商企业或一位管理者参考(含答案)280
- 膀胱过度活动症的诊断与治疗
- 幼儿园绘本故事:《神奇雨伞店》 课件
- CIP清洗技术课件
- 颜真卿书法艺术 完整版课件
评论
0/150
提交评论