Saisir une phrase en C++
Résolu
ttt
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
mich62120 Messages postés 631 Date d'inscription Statut Membre Dernière intervention -
mich62120 Messages postés 631 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Lorsque je veux saisir une phrase(chaine de caractères avec des mots séparés par des espaces) dans une variable en C++,seul le premier mot est stocké dans la variable. Par exemple :
si je tape la chaine "le chien" au clavier et la mets dans une variable nommée "phrase", seul le mot "le" est stocké dans la variable "phrase".
Comment saisir une phrase avec des espaces en une seule fois? (un seul appui sur "Entrée")
Merci d'avance.
Lorsque je veux saisir une phrase(chaine de caractères avec des mots séparés par des espaces) dans une variable en C++,seul le premier mot est stocké dans la variable. Par exemple :
si je tape la chaine "le chien" au clavier et la mets dans une variable nommée "phrase", seul le mot "le" est stocké dans la variable "phrase".
Comment saisir une phrase avec des espaces en une seule fois? (un seul appui sur "Entrée")
Merci d'avance.
A voir également:
- Saisir une phrase en C++
- Comment saisir une adresse url - Guide
- Vérifier si une phrase est correcte - Accueil - Google
- Traduire une phrase en sténo ✓ - Forum Réseaux sociaux
- Mettre une phrase en majuscule - Guide
- Tapez cette phrase, en respectant bien les espaces et la ponctuation. - Guide
6 réponses
salut tu remplace long ou int x parr char* et tu remplace %d par %s
par contre pour l'utilisation de cette variable n'est pas pareil car c'est un pointeur (contient l' adresse mémoire du premier caractères) sur ta phrase complète (fin repéré par \0)
ex pour afficher plus besoin de & car c'est déjà une adresse.
Mich
par contre pour l'utilisation de cette variable n'est pas pareil car c'est un pointeur (contient l' adresse mémoire du premier caractères) sur ta phrase complète (fin repéré par \0)
ex pour afficher plus besoin de & car c'est déjà une adresse.
Mich
Merci beaucoup mon amis.
j'ai un autre problemm es-que je peut fair des condition avec des chaine de caractères avec "if et else". exemple:
if (nom==p00col)
{
printf("salut mon amis");
}
else
{
printf("non tu es pas mon amis");
}
est si C'est possible donne moi un exemple. merci
j'ai un autre problemm es-que je peut fair des condition avec des chaine de caractères avec "if et else". exemple:
if (nom==p00col)
{
printf("salut mon amis");
}
else
{
printf("non tu es pas mon amis");
}
est si C'est possible donne moi un exemple. merci
Re
Tu ne peux pas comparer si facilement, il faut utiliser une fonction:
https://fst-informatique.univ-lyon1.fr/
regarde ce lien tu comprendra tout de suite (toi tu regarde si c égale donc vérifier que la fonction renvoie 0).
Mich
PS: rjoute en haut de ton prog:
Tu ne peux pas comparer si facilement, il faut utiliser une fonction:
https://fst-informatique.univ-lyon1.fr/
regarde ce lien tu comprendra tout de suite (toi tu regarde si c égale donc vérifier que la fonction renvoie 0).
if (strcmp(nom,"pOOcol") ==0) { printf("salut mon amis"); } else { printf("non tu es pas mon amis"); }
Mich
PS: rjoute en haut de ton prog:
#include <string.h>
Essaye de me ttre la même chose, les deux même phrases en argument pour voir
strcmp("abcdef",abcdef") et de voir si ça marche.
si oui le problème vient de la facon dont tu récup le nom.
Au fait si tu as fait copier/ coller de mon message pour le if j'ai écri ton pseudo avec deux grand o si tu mets des 0 (zéros) cela explique la chose.change mes O en 0.
strcmp("abcdef",abcdef") et de voir si ça marche.
si oui le problème vient de la facon dont tu récup le nom.
Au fait si tu as fait copier/ coller de mon message pour le if j'ai écri ton pseudo avec deux grand o si tu mets des 0 (zéros) cela explique la chose.change mes O en 0.
voila petit logeciel que j'ai fait, tu peut analysé chez toi et de me dir ou é le problemm ? je veut utilisé une phrase separé par espace :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char mot1[20], mot2[20];
printf("salut cava ? :");
scanf("%s %s",&mot1,&mot2);
if (strcmp(mot1,mot2,"cava bien") ==0)
{
printf("\n");
printf("ok !!");
}
else if (strcmp(mot1,mot2,"non cava pas") ==0)
{
printf("pourquoi ?\n");
printf("\n");
}
else
{
printf("cava");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char mot1[20], mot2[20];
printf("salut cava ? :");
scanf("%s %s",&mot1,&mot2);
if (strcmp(mot1,mot2,"cava bien") ==0)
{
printf("\n");
printf("ok !!");
}
else if (strcmp(mot1,mot2,"non cava pas") ==0)
{
printf("pourquoi ?\n");
printf("\n");
}
else
{
printf("cava");
}
system("pause");
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut p00col, désolé pour ce week end mais je n'était pas trop libre pour t'aider (ni en état d'ailleurs :) )
Je epux te proposer d'essayer ça mais je ne peux pas tester d'où je suis donc il peut y avoir plein d'erreur.
Si tu peux tester et copier le resultat de la compilation j'essaierai
int main()
{
char mot1[100];
printf("salut cava ? :");
scanf("%s ",mot1);
if (strncmp(mot1,strlenght(mot1),"cava bien") ==0)
{
printf("\n");
printf("ok !!");
}
else if (strncmp(mot1,strlenght(mot1),"non ca ne va pas") ==0)
{
printf("pourquoi ?\n");
printf("\n");
}
else
{
printf("cava");
}
system("pause");
return 0;
}
strncmp(mot1,strlenght(mot1),"cava bien") //comparer le mot1 avec le troisième argument sur autant de caractere que le deuxième argument comme on prend la taille du mot on compare seulement le mot et pas le tableau.
Il y a moyen de faire ca avec des strig mais je ne prefere pas te dire sans tester.
Mich
Je epux te proposer d'essayer ça mais je ne peux pas tester d'où je suis donc il peut y avoir plein d'erreur.
Si tu peux tester et copier le resultat de la compilation j'essaierai
int main()
{
char mot1[100];
printf("salut cava ? :");
scanf("%s ",mot1);
if (strncmp(mot1,strlenght(mot1),"cava bien") ==0)
{
printf("\n");
printf("ok !!");
}
else if (strncmp(mot1,strlenght(mot1),"non ca ne va pas") ==0)
{
printf("pourquoi ?\n");
printf("\n");
}
else
{
printf("cava");
}
system("pause");
return 0;
}
strncmp(mot1,strlenght(mot1),"cava bien") //comparer le mot1 avec le troisième argument sur autant de caractere que le deuxième argument comme on prend la taille du mot on compare seulement le mot et pas le tableau.
Il y a moyen de faire ca avec des strig mais je ne prefere pas te dire sans tester.
Mich
re
bon moi je veut developper un program en c qui me questionne de : "Salut cava". et moi je lui répons par 2 mot diférent avec un espace entre les deux ex: "cava bien" ou "non ca ne va pas", est les enregistrer dans 2 variable : char mot1[100], mot2[100].
est ensuite je fait une condition: ex:
si (mo1==cava bien)
{
printf("ok");
}
else
{
printf("pourquoi cava pas");
}
C'est tout, mais comment procéder ?
bon moi je veut developper un program en c qui me questionne de : "Salut cava". et moi je lui répons par 2 mot diférent avec un espace entre les deux ex: "cava bien" ou "non ca ne va pas", est les enregistrer dans 2 variable : char mot1[100], mot2[100].
est ensuite je fait une condition: ex:
si (mo1==cava bien)
{
printf("ok");
}
else
{
printf("pourquoi cava pas");
}
C'est tout, mais comment procéder ?
Pour les détails je te parlais du détail des erreurs données par le compilateur.
Le programme que tu as est bon au niveau procédure, il faut trouver où sont les erreurs.
Renseigne toi sur la fonction strcmp ou strncmp tu verras peut etre d'où vient l'erreur.
Il ne mets aps de fautes pour le scanf?
mich
Le programme que tu as est bon au niveau procédure, il faut trouver où sont les erreurs.
Renseigne toi sur la fonction strcmp ou strncmp tu verras peut etre d'où vient l'erreur.
Il ne mets aps de fautes pour le scanf?
mich
getline(cin, phrase); doit etre ecrit a la place de cin>>phrase???
si oui ca ne parche pas. Dois je appeler une bibliothèque particulière??
A++
ou "une phrase" dans une variable. je sait comment enregistrer un nombre par la fenction "long ou...", mes les phrase non. merci beaucoup.