2016-09-21 42 views
-3

我必须创建一个HiLow游戏,用户必须猜测计算机生成的随机数。我必须实现至少一个功能,以检查我猜的数字。并输出多少猜测才能获得正确答案。游戏有效,但我没有几件事情,如果用户输入超出范围的数字并输出猜测数量以获得正确答案,我需要输出错误消息。我不确定从哪里开始。这是我的代码到目前为止。HiLow计算机生成的猜测游戏

教授的要求:编写控制台应用程序或称为HiLow的游戏。在这个游戏中,计算机生成一个随机数,取值范围从1到100.然后询问用户猜测。如果玩家猜测高或低,计算机会返回太高或太低,并要求重新猜测。当给出正确的答案时,玩家会被祝贺,告诉他们为了得到正确的答案需要多少猜测,并要求再次玩。告诉用户当他们想要退出玩时输入-1作为猜测。实现一个函数。 -

// Angela Mansfield 
// Assignment HiLow 
// CIS 227 
// 9/23/16 

#include "stdafx.h" 
#include <string> 
#include <iostream> 
#include <stdlib.h> 
#include <time.h> 

using std::getline; 
using std::cin; 
using std::cout; 
using std::endl; 
using std::string; 


// check number method add all of work here call from main 
double numCheck() { 
    int num = rand(); 
    int guess; 

    //sets random number to the variable num 
    srand(time(NULL)); 
    num = rand() % 100 + 1; 

    do { 
     cout << "Pick a number 1-100: ";   //can I check the number here?? 
     cin >> guess; 
     //have to enter number 2 times 
     if (num < guess) {cout << "Too High" << endl;} 
     else if (num > guess) {cout << "Too Low" << endl;} 
     else if (num = guess) {cout << "Congratulations you guessed correctly!!" << endl;} 
    } while (guess != -1); 


    return 0; 
} 

int main() 
{ 
    numCheck(); 


} 
+0

对不起,我的Vulcan Mind Meld无法在远距离工作。你在谈论什么这些额外的东西? (请修改您的帖子。) –

+0

您应该告诉用户如何退出程序,如输入“-1”。 –

+0

对于更困难的游戏,你应该*种子*随机数发生器,因此它不会每次都使用相同的序列。 –

回答

1

之前的额外工作,让我们开始有固定的程序。

出了什么问题?

  1. =运营商与运营商==

    else if (num = guess) cout <<"Congratulations you guessed corectly!!" << endl;

num = guess将SSIGN guessnum并返回true。如果没有其他输入被选择,这将确保你第一次得到这个输出。

  • 用户体验/逻辑异常

    while (guess != -1);

  • 好,您询问用户猜测从1到100,并等待直到他们打-1。这有点残忍。

  • 未初始化输入

    int guess;

  • 编译器使用在你叫喊,如果你不你输入之前初始化这些。

    如何解决?现在

    int main() 
    { 
        srand(time(NULL)); 
        int num = rand() % 100 + 1; 
        int guess = 0;       // Problem 3 
    
        do { 
         cout << "Pick a number 1-100: "; 
         cin >> guess; 
         if (num == guess)     // Problem 1 
          cout <<"Congratulations! you guessed corectly!!" << endl; 
         else if (num < guess) 
          cout <<"Too High" << endl; 
         else 
          cout <<"Too Low" << endl; 
         } 
        while (guess != num);     // Problem 2 
    
        return 0; 
    } 
    

    你可以移动继续增加更多的特性。

    +0

    -1是退出程序。我试过你的方式,它不再工作。 –

    +0

    好,那就改回来。但我通常会希望程序在用户输入正确的选项时终止,而不是等待他输入-1。 – Uriel

    +0

    这是我的老师想要的。感谢您的帮助。 –