Привет, сообщество StackOverflow.Я столкнулся с определенной проблемой в понимании того, как Visual Studio обрабатывает «инструкции», приведенные в коде.
код, который я написал, создавал мне проблему, когда я выполнял его.Прошло что-то вроде:
каково ваше предположение?осел
каково ваше предположение?осел
ваше предположение было: осел
каково ваше предположение?собака
каково ваше предположение?dog
Ваше предположение было: dog.
Правильно работает при альтернативных попытках.Тем не менее, если бы я должен был удалить 'GetGuess ();'на линии 38. все отлично работает.Тем не менее, меня просто беспокоит, что Getguess в строке 38 не требуется, потому что сейчас у меня возникает мысль о том, что он должен сначала обработать Getguess, прежде чем обрабатывать, выдавая предположение.
Спасибо
код:
#include <iostream>;
#include <string>;
using namespace std;
void PrintIntro();
void play_game();
string GetGuess();
// entry point for out application
int main()
{
PrintIntro();
play_game();
}
//intro game
void PrintIntro()
{
constexpr int WORD_LENGTH = 5;
cout << "welcome to bulls and cows\n";
cout << "can you guess the " << WORD_LENGTH << " letters word?\n";
return ;
}
void play_game()
{
// loop for number of turns asking for guesses
constexpr int number_of_turn = 5;
for (int count = 1; count <= number_of_turn; count++)
{
GetGuess();
string guess = GetGuess();
cout << "your guess was:" << guess << endl;
}
}
//gut guess from player
string GetGuess()
{
// ask for a guess
cout << "whats your guess?\n";
string guess = "";
getline(cin, guess);
return guess;
}