Imagem de fundo

Considere o código fonte escrito em C++ baseado em Deitel e Deitel (2017) e executado e...

Considere o código fonte escrito em C++ baseado em Deitel e Deitel (2017) e executado em https://www.onlinegdb. com/online_c++_compiler.

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

void guessGame();

bool isCorrect( int, int );


int main()

{

guessGame();

return 0;

}

void guessGame()

{


int answer;

int guess;

char response;

do {

answer = 1 + rand() % 1000;

cout << "Eu tenho um numero no intervalo entre 1 ate 1000.\n"

<< "Voce consegue adivinhar este numero?\n"

<< "Digite o seu primeiro palpite: ";

cin >> guess;

while ( !isCorrect( guess, answer ) )

cin >> guess;

cout << "\nParabens, voce acertou!\n"

<< "Gostaria de jogar novamente (s or n)? ";

cin >> response;

cout << endl;

} while ( response == 's' );

}

bool isCorrect( int g, int a )

{

if ( g == a)

return true;


if ( g < a )

cout << "Muito baixo. Digite o novo palpite: ";

else

cout << "Muito alto. Digite o novo palpite: ";

return false;

}


Fonte: DEITEL, Paul; DEITEL Harvey. C++ How to Program. 10. ed. Boston: Pearson, 2017.


Indique a sentença CORRETA:

A

Se o código for compilado e executado e o usuário digitar uma letra no primeiro prompt, o programa entrará em loop exibindo a mensagem “Muito baixo. Digite o novo palpite:”.

B

Se o código for compilado e executado e o usuário digitar o valor 1000000 no primeiro prompt, o programa apresentará a mensagem “Erro de estouro de índice”.

C

Há um erro no código fonte e, durante a compilação, o compilador o indicará próximo a bool isCorrect( int, int );.

D

Há um erro na lógica adotada, pois o código fonte não corresponde às mensagens apresentadas em tela para o usuário quando de sua execução. A correção deve ser realizada na linha que contém a instrução: while ( !isCorrect( guess, answer ) ).

E

A função rand() retorna números pseudoaleatórios entre 1 e o valor definido na constante RAND_MAX. Portanto, há um erro lógico no código fonte. Para o código fonte corresponder às mensagens apresentadas em tela para o usuário, o código answer = 1 + rand() % 1000; deve ser alterado para answer = rand() % 1000;