Je suis en train de réécrire le code du Jeu de devinettes de 'Programmation C pour les débutants Absoulute' pour vérifier que l'utilisateur a entré un chiffre, en utilisant la fonction isdigit().Comment puis-je faire passer mon code dans une boucle infinie?
Le reste du code fonctionne, en termes de vérification d'erreur; mais le moment où l'utilisateur entre dans un non-chiffre, le code va dans une boucle infinie.
#include <stdio.h>
#include <stdlib.h>
#define NO 2
#define YES 1
main()
{
int guessGame;
guessGame = 0;
int iRandomNum = 0;
int iResponse = 0;
printf("\n\nWould you like to play \"The Guessing Game\"?\n\n");
printf("\nType '1' for Yes or '2' for No!\n\n");
scanf("%d", &guessGame);
do{
if(guessGame == YES){
iRandomNum = (rand() % 10) + 1;
printf("\nGuess a number between 1 and 10:\n\n ");
scanf("%d", &iResponse);
if(!isdigit(iResponse)){
printf("\nThank you\n");
printf("\nYou entered %d\n", iResponse);
if(iResponse == iRandomNum){
printf("\nYou guessed right\n");
printf("\nThe correct guess is %d!\n", iRandomNum);
printf("\nDo you wish to continue? \n");
printf("\nType '1' for Yes or '2' for No!\n\n");
scanf("%d", &guessGame);
} else {
printf("\n\nSorry, you guessed wrong\n");
printf("\nThe correct guess was %d!\n", iRandomNum);
printf("\n\nDo you wish to continue? \n");
printf("\nType '1' for Yes or '2' for No!\n\n");
scanf("%d", &guessGame);
}
}
else {
printf("\nYou did not enter a digit\n");
printf("\n\nPlease enter a number between 1 and 10:\n\n");
scanf("%d", &iResponse);
}
}
else {
printf("\nThe window will now close. Try again later!\n");
exit(0);
}
}while(guessGame != NO);
}
Qu'est-ce que débogueur avez-vous utilisé passer à travers cela? –
ne devrait pas 'if (! Isdigit (iResponse))' être 'if (isdigit (iResponse))'? si en effet il vérifie un chiffre .. – davedwards
@Ben Je n'ai pas encore utilisé de débogueur pour passer le code. J'utilise DevC++ pour l'écrire et le compiler. Mais, malheureusement, le débogueur ne fonctionne pas en mode atm et je n'ai pas encore trouvé de solution pour le faire fonctionner. Des idées? – aLoHa