KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 15:50:27

Fgets??? en langage C

Rechercher : dans
fgets??? en langage C
par limbergh
 Fil de Discussions
Statut : Résolu
dimanche 17 février 2008 à 16:57:58
Bonjour,
j'ai un code ou je veux écrire des phrases et les afficher.
Ce code fonctionne très bien sans un switch mais avec celui-ci, ça boucle
et il ne m'inscris rien????????
Merci d'avance pour votre aide et je met mon code ci-après....

J'ai utilisé fgets pour écrire ma phrase, est-ce la mon erreur?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>


int main(int argc, char *argv[])
{
int choix;  
char l[100], c[100]={0}; 
while(choix!=0)
{
printf("\n-1- affiche la question 1");
printf("\n-2- affiche la question 2");
printf("\n-2- affiche la question 3");
printf("\n votre choix=============>");
scanf("%d", &choix);

switch(choix)
{
case 1:

printf("salut,encode ta phrase : ");
fgets(l,100,stdin);

break;


case 2 :

printf("Ha ta phrase est %s", l);
break;

case 3 :

printf("je copie ta reponse dans une autre variable");
strcpy(c,l);
printf("%s", c);
break;
}

}
  getch();
  return 0;
}


Configuration: Windows XP
Firefox 2.0.0.12
Répondre à limbergh  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le dimanche 17 février 2008 à 17:22:19 Fil de Discussions
Salut,
N'oublie pas d'initialiser choix à -1 par exemple. Tu effectues une comparaison sans l'initialiser.
Sinon, toujours le même problème, lorsque tu utilises scanf("%d",...), tu as le '\n' stocké dans le buffer clavier.
Donc tu peux faire un fgetc(stdin); par exemple juste avant l'utilisation du fgets;

Cordialement Google is your friend
Répondre à fiddy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par mype, le dimanche 17 février 2008 à 17:26:23 Fil de Discussions
ah limbergh toujours le meme probleme ;)
c'est le '\n' qui pose probleme
Répondre à mype

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le dimanche 17 février 2008 à 17:33:25 Fil de Discussions
Lol mype, avec le temps, ça viendra ;)
Google is your friend
Répondre à fiddy

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le dimanche 17 février 2008 à 17:36:24 Fil de Discussions
salut mype et fiddy,
par vos réflexions, j'ai trouvé mon erreur, enfin je pense,
j'ai oublié de mettre la getchar(), c'est ça non?
Répondre à limbergh

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par mype, le dimanche 17 février 2008 à 17:42:23 Fil de Discussions
oui c'est ça ou fgetc(stdin) comme te la dit fiddy
Répondre à mype

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le dimanche 17 février 2008 à 17:38:24 Fil de Discussions
Oui, mais je t'avais dit tout ceci dans mon post n°1 !
Google is your friend
Répondre à fiddy

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le dimanche 17 février 2008 à 17:46:22 Fil de Discussions
ok,
merci pour vos réponses!!!! et votre patience (lol)
Répondre à limbergh

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le dimanche 17 février 2008 à 17:47:29 Fil de Discussions 
À tes ordres, et à la prochaine fois pour un '\n' ;)
Google is your friend
Répondre à fiddy
Discussions pertinentes trouvées dans le forum
07/03 21h21[langage C] Problème avec un fgetsProgrammation07/03 22h503
25/03 14h23le language CProgrammation10/05 13h452
24/03 20h27sqrt language CProgrammation25/03 23h133
22/03 16h51Langage C - nombre aleatoireProgrammation22/03 18h533
Plus de discussions sur « fgets??? en langage C » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide