Ecrivez un programme qui continue à demander à l'utilisateur d'entrer n'importe quel nombre autre que 5 jusqu'à ce que l'utilisateur entre le numéro 5. Puis dites à l'utilisateur "Hé, vous n'étiez pas censé entrer 5! " et quittez le programme.Problème avec un défi de codage débutant
★ Modifier le programme de sorte qu'après 10 itérations si l'utilisateur n'a pas encore entré 5, il dira à l'utilisateur "Wow, vous êtes plus patient que moi, vous gagnez". et sortie.
★★ Modifiez le programme pour qu'il demande à l'utilisateur d'entrer un nombre autre que le nombre égal au nombre de fois qu'il lui a été demandé d'entrer un nombre. (c.-à-d. sur la première itération "S'il vous plaît entrer un nombre autre que 0" et sur la deuxième itération "S'il vous plaît entrer tout autre numéro que 1" m etc etc Le programme doit se comporter en conséquence lorsque l'utilisateur entre le numéro demandé à.)
J'ai obtenu la plupart du programme pour fonctionner. Je l'ai à un point où il demande un numéro commençant à 0 et remontant, il donne à l'utilisateur le message du patient après 10 essais, et quitte le programme s'ils entrent le numéro qu'ils ne sont pas censés. Cependant si l'utilisateur entre le numéro au-dessus de ce qu'il vous dit de ne pas entrer, le programme se termine sans message. Je ne sais pas vraiment quoi chercher pour résoudre ce problème. J'ai cependant essayé de déplacer certaines choses et j'ai éliminé certaines variables redondantes.
Tous les conseils seraient appréciés, s'il vous plaît ne me donnez pas la réponse à l'avant! Voici ce que j'ai jusqu'ici.
#include <iostream>
int main()
{
const int GUESS = 1; // constant for number of tries
const int PATIENCE = 10; // constant for message at 10 tries
int UserNum; // player input
int InputNum = GUESS; // intializes GuessNumber
// asks for player input
do
{
std::cout << "Enter any number other then "<< InputNum << ": ";
std::cin >> UserNum;
// exits program if user inputs the number displayed
if (UserNum == InputNum)
{
std::cout << "Hey! you weren't supposed to enter " << InputNum << "!\n";
}
// increase the Guess counter if they dont enter the number displayed
else if (UserNum != InputNum)
{
InputNum++;
}
if (InputNum == PATIENCE)
{
std::cout << "Wow, you're more patient then I am, you win.\n";
break;
}
} while (UserNum != InputNum);
return 0;
}
Je pense que le défi (pour 1 étoile) est de demander à l'utilisateur 10 fois un nombre autre que 5 ..? .. mais ur totalement différente façon –
Oui, je l'ai fait avec succès, le défi 2 étoiles vous dit pour le changer à nouveau pour augmenter le nombre chaque fois que vous demandez, donc j'ai changé le code depuis lors. –