Probleme programme C++
Résolu/Fermé
gotrunks39
Messages postés
38
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
22 mars 2011
-
3 oct. 2010 à 23:24
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 - 6 oct. 2010 à 04:02
overcode Messages postés 119 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 21 octobre 2011 - 6 oct. 2010 à 04:02
A voir également:
- Probleme programme C++
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Désinstaller programme windows 10 - Guide
2 réponses
overcode
Messages postés
119
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
21 octobre 2011
27
Modifié par overcode le 4/10/2010 à 05:12
Modifié par overcode le 4/10/2010 à 05:12
Bonsoir,
Comme tu le dis, c'est juste un problème de syntaxe :)
Y a comme une légère embrouille au niveau des priorités des opérateurs : le ternaire et <<. Ca se résoud avec des parenthèses.
Remarque qu'il y avait une autre erreur :
Les deux choix doivent être du même type, ce qui n'est pas le cas de ton ancien code. D'un côté tu mets un char, de l'autre une chaîne de caractère.
Au passage, pour ne plus être limité à des prénoms sans espaces, tu peux mettre :
au lieu de :
Citation :
Je n'ose pas le faire pour le 's' de 'an' j'attend vos reponse ;)
Tu comptais traiter le cas où l'utilsateur aurait moins de deux ans ?! XD
Comme tu le dis, c'est juste un problème de syntaxe :)
Y a comme une légère embrouille au niveau des priorités des opérateurs : le ternaire et <<. Ca se résoud avec des parenthèses.
cout << "Bonjour " << prenom << ", tu es agé" << ( sexe == 'F' ? "e" : "" ) << " de " << anneeCourante()-annee_naissance << " ans." << endl ;
Remarque qu'il y avait une autre erreur :
(sexe == 'F')?'e':""
Les deux choix doivent être du même type, ce qui n'est pas le cas de ton ancien code. D'un côté tu mets un char, de l'autre une chaîne de caractère.
Au passage, pour ne plus être limité à des prénoms sans espaces, tu peux mettre :
getline(cin, prenom) ;
au lieu de :
cin >> prenom ;
Citation :
Je n'ose pas le faire pour le 's' de 'an' j'attend vos reponse ;)
Tu comptais traiter le cas où l'utilsateur aurait moins de deux ans ?! XD
gotrunks39
Messages postés
38
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
22 mars 2011
3
5 oct. 2010 à 21:37
5 oct. 2010 à 21:37
Oui effectivement ca fonctionne bien merci ^^
Et oui il faut traiter le cas où l'utilisateur a moins de 2 ans xD (meme si c'est un peu cucul dans l'idée ^^)
Par contre a quoi sert getline ??
Sinon merci à toi de ton aide
Et oui il faut traiter le cas où l'utilisateur a moins de 2 ans xD (meme si c'est un peu cucul dans l'idée ^^)
Par contre a quoi sert getline ??
Sinon merci à toi de ton aide
Pacorabanix
Messages postés
3248
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
19 mai 2013
663
Modifié par Pacorabanix le 5/10/2010 à 22:02
Modifié par Pacorabanix le 5/10/2010 à 22:02
getline sert à lire une ligne entière à partir d'un flux (comme cin ou un fichier).
Avec le cin >> variable, la lecture ne prendra que le premier mot. au premier espace ou tabulation, la lecture du flux s'arrêtera pour cette variable.
Avec le getline, c'est le flux jusqu'à ce que tu tape "Enter" qui sera lu.
Avec le cin >> variable, la lecture ne prendra que le premier mot. au premier espace ou tabulation, la lecture du flux s'arrêtera pour cette variable.
Avec le getline, c'est le flux jusqu'à ce que tu tape "Enter" qui sera lu.
overcode
Messages postés
119
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
21 octobre 2011
27
6 oct. 2010 à 04:02
6 oct. 2010 à 04:02
:)