Boucle avec case !? En C !?

Résolu/Fermé
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011 - 9 févr. 2008 à 10:52
lolseb Messages postés 76 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011 - 11 févr. 2008 à 16:25
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 févr. 2008 à 11:53
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 dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
10 févr. 2008 à 20:19
Et avoir un explication serait plus claire pour moi....
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
10 févr. 2008 à 21:58
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 mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
10 févr. 2008 à 23:18
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 dimanche 31 octobre 2004 Statut Membre Dernière intervention 27 février 2011
11 févr. 2008 à 16:25
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