Chaine de caractère !

Signaler
Messages postés
3
Date d'inscription
dimanche 12 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2003
-
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
-
Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de quelqu'un, et si ce prénom est remi, qu'il mette un petit texte. Voyez vous même :

void main() {
char prenom;
printf("Quel est ton prenom ? ");
scanf("%c",&prenom);
printf("Ton prenom est %c !",prenom);
if (prenom=='remi') {
printf("T'es trop un boss\n");
}
else {
printf("nul !\n");
}
system("pause"); }

6 réponses

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
en fait c kan tu fait:

scanf("%c", &prenom);

alors le truc dont je suis sur c pour le %c, ca c'est pour entrer un seul caractere et non pas une chaine... ensuite le &prenom, alors la je peux me tromper mais le "&" ne doit pas y etre enfin je suis pas sur et j'ai pas trop envie de dire de bétise... enfin si ton programme ne marche pas c principalement et ca c'est sur pour "%c"... Alors pour remedier a ca, tu peux soit faire ton programme avec un tableau ou avec les pointeurs... Je pense que le tableau sera plus simple... :)... Voila...
Bonne prog a toi...
Lord Bob
Messages postés
3
Date d'inscription
dimanche 12 janvier 2003
Statut
Membre
Dernière intervention
19 janvier 2003

Merci pour cette réponse, je pensais aussi que c'était ça parce quand il dit ton prénom est ... il met que la première lettre. Un dernier petit truc : peut-tu me montrer comment faire un tableau comme tu m'as dis de faire. Une question : connait-tu un bon site où il y a pleins de cours de c++ ? Merci
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
Oui, ton problème vient de la déclaration de ton prénom, tu déclare un char qui accèpte un seul caractère alors qu'il faut que tu déclares un char*.
Personelement je préfère utiliser les string et les fonctions flot d'entrées cin et cout. Je te conseil de les utiliser car l'utilisation de char* est un pe plus délicate, donc si tu débutes utilise les string comme ceci.

#include<string.h>

void main()
{
string prenom;
cout << "Quel est ton prenom ? ";
cin >> prenom;
cout << "Ton prenom est %c !" << prenom;
if (prenom=="remi")
cout << "T'es trop un boss" << endl;
else
cout << "nul !" << endl;
system("pause");
}

Bon, voila.
Alé, bonne prog!
Bouba
Messages postés
42
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2003

>>??????
Salut,

> > en fait c kan tu fait:
> >
> > scanf("%c", &prenom);
> >
> > alors le truc dont je suis sur c pour le %c, ca c'est pour
>>entrer un seul caractere et non pas une chaine...
>>ensuite le &prenom, alors la je peux me tromper mais le "&"
>>ne doit pas y etre

Au contraire. Il n'a pas declare prenom comme un pointeur, alors & c bien.

>>enfin je suis pas sur et j'ai pas trop envie de dire de
>>bétise... enfin si ton programme ne marche pas c
>>principalement et ca c'est sur pour "%c"
Completement faux.
S'il change %c avec %s il aura immediatement un debordement.
S'il change char prenom =>> char* prenom.Pareil, debordement avec %s.

>>... Alors pour remedier a ca, tu peux soit faire ton
>>programme avec un tableau ou avec les pointeurs... Je
>>pense que le tableau sera plus simple... :)... Voila...
> > Bonne prog a toi...
> > Lord Bob
>
Tt a fait d'accord.IL faut soit utiliser le "string" de C++, soit declarer un tableux et faire attention de ne pas deborder, soit faire une allocation dynamique apres avoir delcare prenom comme un pointeur.
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

bouba si tu utilises system("pause"); il faut mettre <stdlib.h>
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
salut...
non serieux en fait d'habitude je dit bonjours, mais la g t presser et je voulai l'aider a resoudre son probleme...