Boucle avec case !? En C !?

Résolu
lolseb Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
lolseb Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Hey je voudrais savoir comment faire une boucle d'un programme juste demander qu'il fasse demi-tour enfin qu'il revienne au début à l'aide d'une question. J'ai essayeé la fonction case.... sa à du mal... enifn je la comprend pas trop et j'ai essayé avec switch par réusie et avec un If else je vois pas trop comment me débrouillée


//déclration de variable préalable au programme

Char rep;


//programme entré avant et condition de retour

printf("Voulez vous recommencez : Y-oui/N-non?")
scnaf("%c",&Y)
if (rep==Y)
{return 0}
else{ if(rep==N)
{getch()}
else{return à printf }

Sa pourrais marcher un truc comme sa !?

Merci d'avance.
Séb

5 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,

char rep[3];

do{
   printf("Voulez-vous recommencer : Y/N");
   fgets(rep,3,stdin);
   while(rep[0]!='Y' && rep[0]!='N'){
      puts("reponse incorrecte");
      printf("reponse : Y ou N");
      fgets(rep,3,stdin);
   }
}while(rep[0]!='N');

0
lolseb Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Et avoir un explication serait plus claire pour moi....
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,

Ben tu affiches la phrase.
Ensuite tu récupères la réponse de l'utilisateur. J'utilise fgets 3 pour stocker le caractère de l'utilisateur, le \n, et le \0, comme ça aucun caractère ne va dans le buffer tampon.
Ensuite tant que sa réponse est différent de Y ou N, tu lui demandes de retaper une réponse.
Et enfin si sa boucle et Y, tu retournes à la première phrase.

J'espère avoir été plus clair.

Cordialement
0
oupsman Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   10
 
salut,

si les stdin te dérangent, voici une version très simple pour débutant :

int main(void)
{
char rep;
do
{
printf("\nVoulez-vous recommencer ? Y/N\n");
scanf("%c", &rep);
if(rep != 'N' && rep != 'Y')
{
printf("\nRepondez uniquement par Y ou par N\n");
}
} while(rep != 'N');
return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lolseb Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
OK bah sa me vas mieux la deuxième je comprend un pu mieux disons qu'il me manque un peu de base dans le C car je débute !
0