Tom's Guide > Forum > Programmation > Erreur de saisie langage C

Erreur de saisie langage C

Forum Programmation : Erreur de saisie langage C

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut,

Tu peux faire une structure de ce type:

Code :
  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. }

------------------------------ Pour me remercier, allez faire un tour sur >>>Download Society<<<

La vie ne vaut rien mais rien ne vaut la vie...
Répondre à akred3

Code :
  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

Message cité 1 fois
Message édité par sIake le 26-11-2009 à 21:58:42
Répondre à sIake

sIake a écrit :

Code :
  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;
}

}


Message édité par elendilm le 24-11-2009 à 22:32:05
Répondre à elendilm

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

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int main()
  5. {
  6. int choix;
  7. 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" );
  8. printf("                                                      \xBA Bienvenue dans FANTASY \xBA" );
  9. 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" );
  10. printf("1:JOUER\n\n" );
  11. printf("2:Instructions\n\n" );
  12. printf("3:Quitter\n\n" );
  13. scanf("%d", &choix);
  14. switch (choix)
  15. {
  16. case 1:
  17.   printf("JOUER!!!!!!!" );
  18.   break;
  19. case 2:
  20.   regles();
  21.   break;
  22. case 3:
  23.   credit();
  24.   break;
  25. }
  26. }


Où ou comment faut-il intégrer votre partie pour qu'elle fonctionne ?


Message édité par micki68210 le 25-11-2009 à 09:24:16
Répondre à micki68210

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 ?

------------------------------ Pour me remercier, allez faire un tour sur >>>Download Society<<<

La vie ne vaut rien mais rien ne vaut la vie...
Répondre à akred3

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 ....

Répondre à micki68210

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;
}

}

Répondre à elendilm

elendilm a écrit :

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:

Répondre à micki68210
Tom's Guide > Forum > Programmation > Erreur de saisie langage C
Aller à :

Il y a 2164 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens