Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ++;操作员在猜谜游戏中不工作?_C++ - Fatal编程技术网

C++ ++;操作员在猜谜游戏中不工作?

C++ ++;操作员在猜谜游戏中不工作?,c++,C++,我正在根据教程做一个愚蠢的猜谜游戏。我需要退出循环,如果有10个猜测,没有正确的答案。每个有效的guess(int的有效用户输入)都需要更新guess_输入变量,该变量在开始时为0。 print_guesses功能用于列出用户最多猜10次或猜对后输入的猜测。这是我试图完成guess_输入(或尝试的猜测次数)更新的代码 游戏函数中的猜测输入似乎没有更新,因为打印猜测函数没有列出用户输入的所有有效猜测。 此外,游戏功能将允许您在10次错误但有效的输入后,在最终执行我想要执行的代码之前猜测大约20次

我正在根据教程做一个愚蠢的猜谜游戏。我需要退出循环,如果有10个猜测,没有正确的答案。每个有效的guess(int的有效用户输入)都需要更新guess_输入变量,该变量在开始时为0。 print_guesses功能用于列出用户最多猜10次或猜对后输入的猜测。这是我试图完成guess_输入(或尝试的猜测次数)更新的代码

游戏函数中的猜测输入似乎没有更新,因为打印猜测函数没有列出用户输入的所有有效猜测。 此外,游戏功能将允许您在10次错误但有效的输入后,在最终执行我想要执行的代码之前猜测大约20次

if (guess_input == 9)

   { std:: cout << "Sorry! You lost, your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }
if(猜测输入==9)
{std::cout>猜测[猜测输入])
{
}
否则{std::cout

这段代码在三次猜测中读取,每段代码中读取一次。但它只增加
guess\u输入
一次。如果目的是为每次猜测增加
guess\u输入
一次,那么这段代码根本不会这样做。

不,先生,目的是只为其中一个(在bu中列出的)增加
guess\u输入
它在一个块中不递增,或者它看起来是这样,或者我的理论也是这样。我试图使它递增,只有当猜测是错误的和有效的(不是一个字符或符号)@UVBakesandBeyond您想读取三个输入,并且只增加一次
guess\u输入
?如果是这样,为什么您的问题会说这不是您想做的?我说过我想增加
guess\u输入
,当猜测不正确但有效时。@UVBakesandBeyond正确,而这段代码不这样做,因为它读取三个猜测,最多可以增加一次
guess\u input
。你看到这段代码读三次猜测吗?你看到这段代码最多增加
guess\u input
一次吗?我想我错了,先生。也许下面的说法不正确……我相信这段代码通过使用
guess\u input
变量作为索引位置设置器(因为缺少更好的术语),每次以下代码为true
if(guess[guess\u input]!=answer&&std::cin>>guess[guess\u input])
如果确实是这样的话,我不明白为什么这不起作用。
if (guess_input == 9)

   { std:: cout << "Sorry! You lost, your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }
void game ()
{

srand(time(NULL));

int guesses [10];
int answer = rand () % 501;
int guess_input = 0;
    std:: cout << answer;
    std:: cout << "\n \n";
    std:: cout << "Guess the answer";
    std:: cout << "\n \n";

for (int i = 0; true; i++)
{


std:: cin >> guesses [guess_input];

if (guesses [guess_input] != answer && std:: cin >> guesses [guess_input] )
   { guess_input++;
   }

if (std:: cin >> guesses [guess_input])
{
}
    else { std:: cout << "Enter a valid choice \n \n";
         std:: cin.clear ();
         std:: cin.ignore ();
         }

if (guess_input == 0 && guesses [guess_input] == answer)
    {std:: cout << "Correct! No incorrect guesses!";
    break;
    }

if (guesses [guess_input] == answer)
   { std:: cout << "Correct! Your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }

if (guess_input == 9)

   { std:: cout << "Sorry! You lost, your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }
}

}

#include <iostream>
#include <cstdlib>
#include <ctime>

void print_guesses (int array_parameter [], int array_count)
{
   std:: cout << "Your guesses were \n \n";
   for (int i = 0; i < array_count; i ++)

       {
        std:: cout << array_parameter [i] << '\n';
       }
}


void game ()
{

srand(time(NULL));

int guesses [10];
int answer = rand () % 501;
int guess_input = 0;
    std:: cout << answer;
    std:: cout << "\n \n";
    std:: cout << "Guess the answer";
    std:: cout << "\n \n";

for (int i = 0; true; i++)
{


std:: cin >> guesses [guess_input];

if (guesses [guess_input] != answer && std:: cin >> guesses [guess_input] )
   { guess_input++;
   }

if (std:: cin >> guesses [guess_input])
{
}

if (guess_input == 0 && guesses [guess_input] == answer)
    {std:: cout << "Correct! No incorrect guesses!";
    break;
    }

if (guesses [guess_input] == answer)
   { std:: cout << "Correct! Your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }

if (guess_input == 9)

   { std:: cout << "Sorry! You lost, your guesses were \n \n";
    print_guesses (guesses, guess_input);
   }
}

}

void menu ()

{

while (true)

{
  short menu_input;

  double long test_variable;

  std:: cout << "Select 1 to play \n \n";

  std:: cout << "Select 9 to quit \n \n";

  std:: cin >> menu_input;

        if (menu_input == 1)

        { game ();
        }

        if (menu_input == 9)

        { std:: cout << "See ya!";
          break;
        }

        else

        {std:: cout << "Enter a valid menu choice \n \n";
        std:: cin.clear ();
        std:: cin.ignore ();
        }

}

}

int main ()

{

menu ();

}
std:: cin >> guesses [guess_input];

if (guesses [guess_input] != answer && std:: cin >> guesses [guess_input] )
   { guess_input++;
   }

if (std:: cin >> guesses [guess_input])
{
}