rems14
Messages postés3Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention19 janvier 2003
-
12 janv. 2003 à 20:22
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
13 janv. 2003 à 19:34
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"); }
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 12 janv. 2003 à 20:30
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
rems14
Messages postés3Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention19 janvier 2003 12 janv. 2003 à 21:13
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
cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 20073 13 janv. 2003 à 07:50
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");
}
filter
Messages postés42Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention16 mai 2003 13 janv. 2003 à 10:02
>>??????
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?