pb création menu de choix

pb création menu de choix - C - Programmation

Marsh Posté le 23-04-2008 à 21:06:42    

Bonjour
J'ai le problème suivant:
je veux afficher un menu d'interfaces avec des choix (numéros) et que l'utilisateur puisse choisir plusieurs interfaces en saisissant les numéros séparés par des espaces. Mon problème concerne le fait que je ne sais pas combien de numéros tapera l'utilisateur. J'ai donc pensé à quelquechose comme:
 
int no_int=5; /* par exemple (variable nombre d'interfaces) */
 
char tab_nb_choix="%d";
 char frappe[3*no_int + 1];
 
 for (i=0;i<no_int;i++)
        {
  strcat(tab_nb_choix," %d" );
 }
 
 
et  apres un
 
scanf(tab_nb_choix,frappe);
 
mais je ne sais pas trop.
 
Merci de votre aide.
 

Reply

Marsh Posté le 23-04-2008 à 21:06:42   

Reply

Marsh Posté le 24-04-2008 à 11:08:46    

Utilise fgetc() pour récupérer le premier caractère entré par l'utilisateur et le traiter.
Ensuite tu vérifies s'il y a des caractères en trop, et tu agis en conséquence (genre "mauvais choix" ou autre), puis tu vides le buffer.
 
Et oublie scanf(), cette fonction ne fait pas ce que tu crois.

Reply

Marsh Posté le 24-04-2008 à 19:31:39    

Nan je ne veux pas vider le buffer je veux récupérer tout les nombres entrés séparés par des espaces.

Reply

Marsh Posté le 24-04-2008 à 21:31:13    

fets() + strtok() + strtol() alors.

Reply

Marsh Posté le 24-04-2008 à 22:11:50    

Merci beaucoup ces fonctions ont l'air de faire des choses qui vont me servir en effet. Je pense pouvoir me débrouiller maitenant ^^.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed