广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 7113 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
wps
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] C++ 猜数字 求助
设计一猜数字游戏,让使用者有三个等级可选择:
初级—猜0到99中任一数字,给使用者提示猜的太大或太小,直到猜到为止。
中级—猜0到99中任一数字,给使用者提示猜的太大或太小,最多猜五次。
高 ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



献花 x0 回到顶端 [楼 主] From:台湾教育部 | Posted:2011-11-15 21:35 |
tw2twtw
个人头像
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x50 鲜花 x548
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

在Dev-C++找到现成的...(修一下就可用了...zz)
复制程式
#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

void Start ();
void GetResults ();

int i, j, life, maxrand;
char c;


void
Start ()
{
i = 0;
j = 0;
life = 0;
maxrand = 6;

cout << "Select difficulty mode:\n"; // the user has to select a difficutly level
cout << "1 : Easy (0-15)\n";
cout << "2 : Medium (0-30)\n";
cout << "3 : Difficult (0-50)\n";
cout << "or type another key to quit\n";
c = 30;

cin >> c;         // read the user's choice
cout << "\n";

switch (c)
{
  case '1' : maxrand = 15; // the random number will be between 0 and maxrand
  break;
  case '2' : maxrand = 30;
  break;
  case '3' : maxrand = 50;
  break;
  default : exit(0);
  break;
}

life = 5;     // number of lifes of the player
srand( (unsigned)time( NULL ) ); // init Rand() function
j = rand() % maxrand; // j get a random value between 0 and maxrand

GetResults();

}


void
GetResults ()
{
if (life <= 0)
  // if player has no more life then he lose
{
  cout << "You lose !\n\n";
  Start();
}

cout << "Type a number: \n";
cin >> i;     // read user's number

if ((i>maxrand) || (i<0)) // if the user number isn't correct, restart
{
  cout << "Error : Number not between 0 and \n" << maxrand;
  GetResults();
}

if (i == j)
{
  cout << "YOU WIN !\n\n"; // the user found the secret number
  Start();
}

else if (i>j)
{
  cout << "Too BIG\n";
  life = life - 1;   // -1 to the user's "life"
  cout << "Number of remaining life: " << life << "\n\n";
  GetResults();
}

else if (i<j)
{
  cout << "Too SMALL\n";
  life = life - 1;
  cout << "Number of remaining life:\n" << life << "\n\n";
  GetResults();
}
}


int
main ()
{
cout << "** Jackpot game **\n";
cout << "The goal of this game is to guess a number. You will be ask to type\n";
cout << "a number (you have 5 guess)\n";
cout << "Jackpot will then tell you if this number is too big of too small compared to the secret number to find\n\n";
Start();
return 0;
}


要用我写的也是可以...
复制程式
#include <iostream> 
#include <stdlib.h>
#include <time.h>

using namespace std;

int main() 
{
  int Guess_number = 0; 
  int Guess_total = 0; 
  int difficult = 0; 
  int Guess_Key = 0; 
  
  char Answer; 
  
  int Cycle = 0; 
  
/* 
初级—猜0到99中任一数字,给使用者提示猜的太大或太小,直到猜到为止。
中级—猜0到99中任一数字,给使用者提示猜的太大或太小,最多猜五次。
高级—猜0到999中任一数字,给使用者提示猜的太大或太小,最多猜三次。
*/ 
  cout << "猜数字 (由JOT制作)" << endl;
  cout << "1:初级 (1~99,无限次数)" << endl;
  cout << "2:中级 (1~99,限猜10次)" << endl;
  cout << "3:高级 (1~999,限猜10次)" << endl;
  cout << "请选择难度:"; 

  do
  {
      cin >> Answer; 
      Cycle = 0; 

      if( Answer == '1') 
      {
          difficult = 1; 
          srand((unsigned)time(NULL)); // init Rand() function
          Guess_Key = rand()%100;
          cout << "*** 难度一(数字随机1到99,无限次数) ***" << endl;
      }
      else if( Answer == '2') 
      {
          difficult = 2; 
          srand((unsigned)time(NULL)); // init Rand() function
          Guess_Key = rand()%100;
          cout << "*** 难度二(数字随机1到99,限猜10次) ***" << endl;
      }
      else if( Answer == '3') 
      {
          difficult = 3; 
          srand((unsigned)time(NULL)); // init Rand() function
          Guess_Key = rand()%1000;
          cout << "*** 难度三(数字随机1到999,限猜10次) ***" << endl;
      }
      else
      {
          Cycle = 1; 
          cout << "请输入数字: (1~3)" << endl;
      }
  }while(Cycle);

  do
  {
      Guess_total += 1;
      if(difficult == 2 && Guess_total > 10) 
      {
          cout << "十次机会已用完." << endl;
          cout << "正确答案为 " << Guess_Key << endl;
          break; 
      }
      if(difficult == 3 && Guess_total > 10)
      {
          cout << "十次机会已用完." << endl;
          cout << "正确答案为 " << Guess_Key << endl;
          break; 
      }

      cout << "请输入你的幸运数字:";
      cin >> Guess_number;
      if(Guess_number > Guess_Key)
      { 
          cout << "         --//此数字小于 " << Guess_number << endl;
          Cycle = 1; 
      } 
      else if(Guess_number < Guess_Key)
      { 
          cout << "         --//此数字大于 " << Guess_number << endl;
          Cycle = 1; 
      } 
      else
      { 
          cout << "*** 恭喜你得到正确答案 ***" << endl;
          cout << "*** 总计猜了 " << Guess_total << " 次 ***" << endl;
          Cycle = 0; 
      } 
  }while(Cycle);

  system("PAUSE");
  return 0;
}


[ 此文章被tw2twtw在2011-11-24 23:27重新编辑 ]

此文章被评分,最近评分记录
财富:50 (by ebolaman) | 理由: 热心解答问题 ʕ◕ᴥ◕ʔ


我的SV: 59.126.178.46:27015
模式:乱七八糟?
献花 x1 回到顶端 [1 楼] From:台湾中华电信股份有限公司 | Posted:2011-11-24 23:00 |
csr
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x0 鲜花 x898
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

大大写的很好的程式
小弟用来当学习材料
谢谢


献花 x0 回到顶端 [2 楼] From:局域网对方和您在同一内部网 | Posted:2011-12-06 09:04 |
iamboss123
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x3
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

高手果然多啊! 源码拿去了!


献花 x0 回到顶端 [3 楼] From:河北 | Posted:2014-01-12 14:34 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.104685 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言