Introduire des phrases en C
Résolu
Limbergh
-
limbergh Messages postés 658 Date d'inscription Statut Membre Dernière intervention -
limbergh Messages postés 658 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Introduire des phrases en C
- Trouver une phrase avec des lettres dans le désordre ✓ - Forum Loisirs / Divertissements
- Traduire une phrase en sténo - Forum Minecraft
- Tapez cette phrase, en respectant bien les espaces et la ponctuation. - Guide
- Lettres en désordre pour former 2 mots - Forum Loisirs / Divertissements
- Traduction d'une phrase pour mon devoir d'an ✓ - Forum Réseaux sociaux
12 réponses
écrit plutôt comme ça
il faut éviter les variables globales
il faut éviter les variables globales
#include <stdio.h> #include <stdlib.h> #include <string.h> int choix; int main (int argc, char *argv[]) { char mot[100]; int choix = 1; do { printf ("-1- introduisez un mot\n"); printf ("-2- affichez le mot\n"); printf ("-0- FIN\n"); printf("Faites votre choix : "); scanf ("%d", &choix); getchar(); switch (choix){ case 1: printf("Saisissez le mot/phrase : "); fgets(mot,100,stdin); break; case 2: printf ("Vous avez saisi : %s\n", mot); break; } } while (choix != 0); system ("PAUSE"); return 0; }
Utilise plutôt la fonction fgets(char *s,int size, FILE *stream)
dans ton cas ça donne
dans ton cas ça donne
fgets(mot,100,stdin);et ne declare pas char mot[100] dans la boucle
je vois que tu n'as pas compris ça
scanf("%s", &mot);
mot c'est une chaîne de caractères donc un tableau de caractères en C
mot c'est l'adresse de 1er élément
danc ce cas on ne mets pas & devant
pour scanf il faut savoir que l'espace c'est un séparateur
donc même si tu as declaré char mot[100], scanf s'en fiche complétement, il ne va prendre qu'un seul mot
pour prendre trois mot par exemple il faut utiliser
scanf("%s %s %s",mot1,mot2,mot3);
scanf("%s", &mot);
mot c'est une chaîne de caractères donc un tableau de caractères en C
mot c'est l'adresse de 1er élément
danc ce cas on ne mets pas & devant
pour scanf il faut savoir que l'espace c'est un séparateur
donc même si tu as declaré char mot[100], scanf s'en fiche complétement, il ne va prendre qu'un seul mot
pour prendre trois mot par exemple il faut utiliser
scanf("%s %s %s",mot1,mot2,mot3);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok,
mais quand j'introduis une phrase, il ne m'affiche que le dernier mot
et je ne vois pas pourquoi???
mais quand j'introduis une phrase, il ne m'affiche que le dernier mot
et je ne vois pas pourquoi???
Donc, je ne vois pas ce qu'il faut faire pour afficher une phrase à l'écran
revoici mon code
merci d'avance
revoici mon code
#include <stdio.h> #include <stdlib.h> #include <string.h> int choix; int main(int argc, char *argv[]) { do { char mot[100]; printf("-1- introduisez un mot\n"); printf("-2- affichez le mot\n"); printf("-0- FIN\n"); scanf("%d", &choix); switch(choix) { case 1: scanf(" %s", &mot); break; case 2: printf("%s\n", mot); break; } } while(choix!=0); system("PAUSE"); return 0; }
merci d'avance
rebonsoir,
j'ai mis ce que tu m'as dit mais maintenant il ne m'affiche plus le premier mot.
Je te remet mon code, j'ai peut-être fait une erreur???
Encore merci pour tout, c'est d'ailleurs pas la première fois...
j'ai mis ce que tu m'as dit mais maintenant il ne m'affiche plus le premier mot.
Je te remet mon code, j'ai peut-être fait une erreur???
#include <stdio.h> #include <stdlib.h> #include <string.h> char mot[100]; int choix; int main(int argc, char *argv[]) { do { printf("-1- introduisez un mot\n"); printf("-2- affichez le mot\n"); printf("-3- introduisez des numeros de tableau\n"); printf("-0- FIN\n"); scanf("%d", &choix); getchar(); switch(choix) { case 1: scanf("%s", mot); fgets(mot,100,stdin); break; case 2: printf("%s\n", mot); break; default : break; } } while(choix!=0); system("PAUSE"); return 0; }
Encore merci pour tout, c'est d'ailleurs pas la première fois...
merci pour ton aide...
Tu sais juste encore m'expliquer ce que viens faire le getchar()...
Après j'arrête de t'ennuyer!!!
Bon sans blaguer, merci d'avance
Limbergh
Tu sais juste encore m'expliquer ce que viens faire le getchar()...
Après j'arrête de t'ennuyer!!!
Bon sans blaguer, merci d'avance
Limbergh