d - C++ - Programmation
Marsh Posté le 05-01-2017 à 10:03:34
1 - "Ca ne fait pas ce qu'il faudrait qu'il fasse"... Ca serait bien de dire ce qu'il faudrait qu'il fasse et la nature de l'erreur
2 - Utilise les balises [code] pour poster du code
3 - Change le titre de ton topic qui ne ressemble à rien
4 - En ce qui concerne ton programme :
-> Tu as oublié d'inclure <string>, du coup ">>" est indéfini
-> Tu n'as pas initialisé tes chaines "noir", "blanche" et "jaune", donc tu compares l'entrée à rien du tout.
-> Utilise std::string.compare() pour comparer des chaines de caractères
-> Evite "using namespace std;"
Marsh Posté le 05-01-2017 à 10:48:02
Plutôt que faire autant de if/else, préférer un switch.
Marsh Posté le 05-01-2017 à 11:27:29
J'aime bien le "une copine m'a montré ce bout de code" alors qu'il y a deux jours c'était "aidez moi à faire mes devoirs" et que quelqu'un lui a fait remarquer que ça n'est pas en accord avec les règles du forum ( http://forum.hardware.fr/hfr/Progr [...] 5589_1.htm ). C'est un petit futé ce cinekb
A part ça ça serait bien de commencer à mettre des vrais titres à tes topics
Marsh Posté le 05-01-2017 à 11:46:04
rufo a écrit : Plutôt que faire autant de if/else, préférer un switch. |
Le switch, c'est pour les faibles
Code :
|
Marsh Posté le 05-01-2017 à 12:13:26
C'est beau
Mais en l'état si tu saisis un truc différent des valeurs acceptées, ça doit réagir légèrement différemment de la tentative du premier post
Marsh Posté le 05-01-2017 à 12:23:05
Vu que je lui ai fait son taf (qu'il aura sans doute du mal à expliquer à son prof ), je pense qu'il peut bien se sortir les doigts du cul
pour rajouter un fallthrough hein
Marsh Posté le 05-01-2017 à 13:18:12
Tain la POO dans ce qu'elle a de plus sombre...
Marsh Posté le 05-01-2017 à 13:45:11
Juste un bête Factory Method
Marsh Posté le 05-01-2017 à 14:44:57
Je pense que h3bus veut dire que c'est un peu overkill pour juste afficher une couleur
Imagine s'il fallait gérer toute la palette, ça ferait beaucoup de classes
Marsh Posté le 05-01-2017 à 16:17:38
Moi je propose une solution, OP est libre de faire comme il veut
(une fois qu'il aura corrigé les erreurs que je lui décrit dans ma première réponse )
Et je viens de me rendre compte que j'ai oublié de deleter la mémoire allouée par mes objets color et colorfactory... 10 ans sans faire de C++, ça marque
Marsh Posté le 05-01-2017 à 19:50:15
Harkonnen a écrit : Moi je propose une solution, OP est libre de faire comme il veut Et je viens de me rendre compte que j'ai oublié de deleter la mémoire allouée par mes objets color et colorfactory... 10 ans sans faire de C++, ça marque |
std::unique_ptr peut t'aider
Edit : même si dans ton cas, ce serait sans doute mieux d'avoir préalloué tes instances dans ta factory et d'utiliser des std::shared_ptr, même si l'implémentation standard est une implémentation de natas.
Marsh Posté le 06-01-2017 à 03:18:45
jai pas fait poo d'abord merci a tous le switch fait l'affaire
Marsh Posté le 06-01-2017 à 03:23:54
TotalRecall je jure que c'est pas un devoir comme tu le pense je n'arrivais pas a comprendre ce qui ne marchais pas et j'ai pas du demander de résoudre mes devoir
Marsh Posté le 09-01-2017 à 14:08:15
Mackila a écrit : les étoiles c'est mal |
ouais ouais, j'aurais pu utiliser des const& machin toussa, mais j'ai eu la flemme
theShOcKwAvE a écrit :
Edit : même si dans ton cas, ce serait sans doute mieux d'avoir préalloué tes instances dans ta factory et d'utiliser des std::shared_ptr, même si l'implémentation standard est une implémentation de natas. |
ok, donc en fait mon retard sur le C++ est encore pire que ce que je croyais
c'est vraiment un langage de natas aussi
Marsh Posté le 09-01-2017 à 14:31:08
cinekb a écrit : TotalRecall je jure que c'est pas un devoir comme tu le pense je n'arrivais pas a comprendre ce qui ne marchais pas et j'ai pas du demander de résoudre mes devoir |
Hello,
T'inquiète je plaisantais, même si tu étais à nouveau bloqué sur un devoir tel que ton post était formulé cette fois-ci ça aurait été vu que tu fournissais un exemple de code. On n'a aucun souci avec l'aide aux devoirs, l'important c'est de montrer qu'avant de demander de l'aide tu as aussi cherché par toi même.
La seule chose qui manquait c'est l'explication claire de pourquoi il ne faisait pas ce que tu attendais, plus des détails sur la forme comme les balises [ cpp] ou l'absence de titre !
Marsh Posté le 05-01-2017 à 03:31:02
bonjour une amie ma montrer ce petit cod&e a vue d'œil y a aucun problème mais quand tu l'exécute sa fait ce que tu voudrais qu'il fasse
#include <iostream>
using namespace std;
int main()
{
string race,europeen,americain,latino,asiatique,africain;
string noir,blanche,jaune;
cout << "vous etes de quel race" << endl;
cin>>race;
if ((race==noir))
{
cout<<"vous etes de race noir"<<endl;
}
else if ((race==blanche))
{
cout<<"vous etes de race blanche"<<endl;
}
else if ((race==jaune))
{
cout<<"vous etes latino ou asiatique"<<endl;
}
return 0;