Fgets??? en langage C
Résolu
limbergh
Messages postés
669
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
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?
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;
}
A voir également:
- Fgets??? en langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Langage visual basic - Télécharger - Langages
- Que veut dire pdf en langage sms ✓ - Forum Programmation
- Pascal langage - Télécharger - Édition & Programmation
6 réponses
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
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
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?
par vos réflexions, j'ai trouvé mon erreur, enfin je pense,
j'ai oublié de mettre la getchar(), c'est ça non?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question