Votre question

Erreur de saisie langage C

Tags :
  • Programmation
Dernière réponse : dans Programmation
24 Novembre 2009 16:06:25

Bonjour a tous,

J'effectue actuellement un jeu pour mon projet en langage C. Dans mon menu , j'ai trois choix différents. Soit 1 , 2 ou 3. Quel code doit-je appliquer pour que si l'utilisateur entre un autre caractère , le code lui redemande une saisie. Merci d'avance pour votre réponse rapide .

Micka

Autres pages sur : erreur saisie langage

24 Novembre 2009 19:37:09

Salut,

Tu peux faire une structure de ce type:

  1. if(test1)
  2. {
  3. }
  4. else if(test2)
  5. {
  6. }
  7. else if(test3)
  8. {
  9. }
  10. else //Dans les autres cas
  11. {
  12. }
m
0
l
24 Novembre 2009 21:29:58

  1. while (1)
  2. {
  3. // saisie utilisateur tant que la donnée est mauvaise
  4. if (cas_1 || cas_2 || cas_3)
  5. {
  6. break;
  7. }
  8. printf("Error : bad entry\n");
  9. }
  10. //tu continues sur tes 3 possibilites
m
0
l
Contenus similaires
24 Novembre 2009 22:30:08

sIake a dit :
  1. while (1)
  2. {
  3. // saisie utilisateur tant que la donnée est mauvaise
  4. if (cas_1 || cas_2 || cas_3)
  5. {
  6. break;
  7. }
  8. printf("Error : bad entry\n");
  9. }
  10. //tu continus sur tes 3 possibilites




while(!stop)
{
switch(cas)
{
case 1:
case 2:
case 3:
stop = true;
break;

default:
stop =false;
break;
}

}
m
0
l
25 Novembre 2009 09:20:33

j 'ai bien éssayé de les integrer au code , mais rien ne marche , le logiciel trouve des erreurs , je suis perdu =(
Voici mon code :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5.  
  6. int main()
  7.  
  8. {
  9.  
  10. int choix;
  11.  
  12.  
  13. printf(" \xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB");
  14. printf(" \xBA Bienvenue dans FANTASY \xBA");
  15. printf(" \xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n\n\n\n\n");
  16.  
  17.  
  18.  
  19.  
  20. printf("1:JOUER\n\n");
  21. printf("2:Instructions\n\n");
  22. printf("3:Quitter\n\n");
  23.  
  24.  
  25. scanf("%d", &choix);
  26. switch (choix)
  27. {
  28. case 1:
  29. printf("JOUER!!!!!!!");
  30. break;
  31. case 2:
  32. regles();
  33. break;
  34. case 3:
  35. credit();
  36. break;
  37. }
  38.  
  39. }

Où ou comment faut-il intégrer votre partie pour qu'elle fonctionne ?
m
0
l
25 Novembre 2009 17:23:00

Le "while" autour du "switch".
Il serait bien de créer un "default" en plus..., enfin je vois pas où tu as un problème ?
m
0
l
25 Novembre 2009 17:58:30

Le problème est simple. Mon code marche tel qu'il est. Mais je voudrais rajouter un morceau pour que l'utilisateur ne puisse que appuyé sur 1 , 2 ou 3 et que si il appui sur un autre caractère un message d'erreur lui indique de retaper un choix ....
m
0
l
25 Novembre 2009 20:11:35

bool continuer=true;


while(continuer)
{
printf("1:JOUER\n\n" );
printf("2:Instructions\n\n" );
printf("3:Quitter\n\n" );

scanf("%d", &choix);
switch (choix)
{
case 1:
printf("JOUER!!!!!!!" );
continuer=false;
break;
case 2:
regles();
continuer=false;
break;
case 3:
credit();
continuer=false;
break;
default:
continuer=true;
break;
}

}
m
0
l
26 Novembre 2009 11:17:49

elendilm a dit :
bool continuer=true;


while(continuer)
{
printf("1:JOUER\n\n" );
printf("2:Instructions\n\n" );
printf("3:Quitter\n\n" );

scanf("%d", &choix);
switch (choix)
{
case 1:
printf("JOUER!!!!!!!" );
continuer=false;
break;
case 2:
regles();
continuer=false;
break;
case 3:
credit();
continuer=false;
break;
default:
continuer=true;
break;
}

}


JE ne voudrais qu'un code qui relance une saisie et met un message de saisie éronnée quand il rentre autre chose que 1 , 2 ou 3 .... je ne pense pas que sa soit compliqué ... mais le C et moi .... :pt1cable: 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS