Problèmes instructions if
Rack
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
Je n'arrive pas à comprendre pourquoi, mais la console bloque après avoir exécuté l'instruction: var=lireCharactere(); dans la boucle do while
Je n'arrive pas à comprendre pourquoi, mais la console bloque après avoir exécuté l'instruction: var=lireCharactere(); dans la boucle do while
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
char lireCharactere();
int main()
{
char var;
char reponse[10];
do{
var=lireCharactere();
if(var=='a'){printf("ce caractere est une voyelle");}
else if(var=='z'){printf("ce caractere est une consonne");}
printf("continuer?");
scanf("%s", reponse);
}while(strcmp(reponse, "oui")==0);
}
char lireCharactere(){
char charactere;
charactere=getchar();
while (charactere != '\n');
return charactere;
}
A voir également:
- Problèmes instructions if
- If exist ✓ - Forum Autoit / batch
- Cliquez sur ce lien. suivez les instructions pour découvrir le mot caché. - Forum Wii
- IF EXIST dans un ".bat" - Forum Programmation
- Question pix mot caché - Forum Téléchargement
- Dans cette vidéo, un texte apparaît furtivement. capturez l'image au bon moment (capture d'écran ou screenshot) pour avoir le temps de lire les instructions. vous pourrez essayer autant de fois que vous voulez. ✓ - Forum TV & Vidéo
3 réponses
Essayes comme çà :
do
{
var=lireCharactere();
if(var=='a')
printf("ce caractere est une voyelle");
else if(var=='z')
printf("ce caractere est une consonne");
printf("continuer?");
scanf("%s", reponse);
}
Bonjour
Ce while est une boucle infinie. Dès que le caractère est différent de \n, on ne peut pas sortir du while.
Je suppose que tu voulais faire
mais la condition n'est pas très satisfaisante, ce serait plutôt while (charactere == '\n');
charactere=getchar(); while (charactere != '\n');
Ce while est une boucle infinie. Dès que le caractère est différent de \n, on ne peut pas sortir du while.
Je suppose que tu voulais faire
do {
charactere=getchar();
}while (charactere != '\n');
mais la condition n'est pas très satisfaisante, ce serait plutôt while (charactere == '\n');
Ca ne fonctionnera pas...