Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
692 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  coorigez moi svp , pour une debutante en c++ , merci à tous........

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

coorigez moi svp , pour une debutante en c++ , merci à tous........

n°234763
NathalieCo​m
Posté le 25-10-2002 à 22:38:00  profilanswer
 

Code :
  1. #include <iostream>
  2. #include <fstream>
  3. #include <map>
  4. #include <iterator>
  5. using namespace std;
  6. class CNoeud
  7. {
  8. int generation;
  9. string prenom;
  10. CNoeud * pere;
  11. struct{
  12. int jj;
  13. int mm;
  14. int aaaa;
  15. } dat_naiss , dat_dece;
  16. char sex;
  17. string etat_civil;
  18. bool decede;
  19. string epouse;
  20. multimap<string,CNoeud> enfants;
  21. multimap<string,CNoeud>::iterator it = enfants.begin();
  22. public :
  23. CNoeud(){};
  24. ~CNoeud(){};
  25. ostream& operator<<(ostream& flux,CNoeud& obj)
  26. {
  27. flux<<"\t"<<obj.prenom<<"\t\t\t"
  28.             <<obj.generation<<"\t\t\t"
  29.             <<*obj.pere<<"\t"
  30.             <<obj.dat_naiss<<"\t\t\t"
  31.             <<obj.sex<<"\t\t\t"
  32.             <<obj.etat_civil<<"\t";
  33. if(obj.etat_civil=="marie" )
  34.  flux<<obj.epouse<<"\t";
  35. if(obj.decede)
  36.  flux<<obj.dat_dece;
  37. while(obj.it != obj.enfants.end())
  38. {
  39.  flux<<"\t"<<(*obj.it).first;
  40.  (obj.it)++;
  41. }
  42. return flux;
  43. }
  44. istream& operator >>(istream& flux,CNoeud& obj)
  45. {
  46. cout<<"\n\tPrenom\n";
  47. flux>>obj.prenom;
  48. cout<<"\n\tDate de naissance\n";
  49. flux>>obj.dat_naiss.jj;
  50. cout<<"/";
  51. flux>>obj.dat_naiss.mm;
  52. cout<<"/";
  53. flux>>obj.dat_naiss.aaaa;
  54. cout<<"\n\tSexe\n";
  55. flux>>obj.sex;
  56. cout<<"\n\tEtat civil\n";
  57. flux>>obj.etat_civil;
  58. if(obj.etat_civil=="marie" )
  59. {
  60. cout<<"\n\tLe nom de l'epouse\n";
  61. flux>>obj.epouse;
  62. }
  63. return flux;
  64. }
  65. };

mood
Publicité
Posté le 25-10-2002 à 22:38:00  profilanswer
 

n°234765
darkoli
Le Petit Dinosaure Bleu
Posté le 25-10-2002 à 22:42:06  profilanswer
 

Code :
  1. int main(int nombre_de_parametres, char** parametres)
  2. {
  3. fprintf(stdout, "C'est quoi la qustion ?\n" );
  4. return 1;
  5. }


:??:


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°234768
farib
Posté le 25-10-2002 à 22:50:48  profilanswer
 

débutante, ma

n°234769
farib
Posté le 25-10-2002 à 22:51:01  profilanswer
 

débutante, maais pas en troll
 
 
quand on utilise la lib std, on est pas débutant ....


Message édité par farib le 25-10-2002 à 22:52:28
n°234772
NathalieCo​m
Posté le 25-10-2002 à 23:10:01  profilanswer
 

ma question est :  
est ce que mon code est correct ?
la surcharge des flux ???
merci à tous.

n°234774
verdoux
And I'm still waiting
Posté le 25-10-2002 à 23:15:24  profilanswer
 

nathaliecom a écrit a écrit :

 
est ce que mon code est correct ?




Non.

n°234778
NathalieCo​m
Posté le 25-10-2002 à 23:23:04  profilanswer
 

corrigez moi svp!
soyez gentille!

n°234780
HappyHarry
Posté le 25-10-2002 à 23:33:27  profilanswer
 

nathaliecom a écrit a écrit :

corrigez moi svp!
soyez gentille!




 
ah ben c a une fille que tu t'adresses ... désolé  [:proy]

n°234782
NathalieCo​m
Posté le 25-10-2002 à 23:41:37  profilanswer
 

je m'excuse
c'est un peu la fatigue...

n°234788
zion
Plop
Posté le 26-10-2002 à 00:21:17  profilanswer
 

nathaliecom a écrit a écrit :

corrigez moi svp!




 
Volontier
 
[:dehors2]


---------------
Informaticien.be - Lancez des défis à vos amis
mood
Publicité
Posté le 26-10-2002 à 00:21:17  profilanswer
 

n°234796
[SDF]Poire
Vive Grumly
Posté le 26-10-2002 à 00:31:36  profilanswer
 

zérte pas cool avec uen nouvelle :D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°235050
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 09:23:09  profilanswer
 

tu ferais mieux de compiler  :sarcastic:  
 
y a effectivement quelques problèmes, notemment, les E/S avec des stream doivent etre définies comme fonctions friends, si tu tiens vraiment à ce qu'elle soit partie de ta classe
 
sinon, moi je fait des fonctions non-friend comme ceci
 

Code :
  1. ostream& operator<<(ostream &os, const objet &obj)
  2. {
  3.   return os << obj.print();
  4. }
  5. // ou la méthode print() renvoie une std::string, représentation de obj
  6. istream& operator>>(istream &is, objet &obj)
  7. {
  8.   t1 champ1;
  9.   is >> champ1;
  10.   //....
  11.   tn champn;
  12.   is >> champn;
  13.   obj tmp(champ1, champ2, ...champn);
  14.   obj.swap(tmp); // obj muni d'une méthode swap (spécialisée donc plus performante que std::swap)
  15.   // ou
  16.   obj.SetChamp1(champ1);
  17.   obj.SetChampn(champ);
  18. return is;
  19. }


Message édité par Taz@PPC le 26-10-2002 à 09:23:46

---------------
du bon usage de rand [C] / [C++]
n°235098
NathalieCo​m
Posté le 26-10-2002 à 13:48:37  profilanswer
 

merci bcp...

n°235105
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 14:35:45  profilanswer
 

:hello:


---------------
du bon usage de rand [C] / [C++]
n°235185
Serial Cod​er
Posté le 26-10-2002 à 19:07:07  profilanswer
 

[:zed pocketsworid]


---------------
Je code en série et en parallèle
n°235187
apolon34
Vive Linux!!
Posté le 26-10-2002 à 19:24:48  profilanswer
 

fallait pas dire que t'es une nana, c'est des choses qui arrivent

n°235223
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 21:04:02  profilanswer
 

nathaliecom >>> tu fais des études d'informatique ou t'es une vrai geekette qui fait du C++ pour le plaisir?


---------------
du bon usage de rand [C] / [C++]
n°235238
orazur
Posté le 26-10-2002 à 21:37:56  profilanswer
 

a poil !! :sarcastic:

n°235240
Serial Cod​er
Posté le 26-10-2002 à 21:39:47  profilanswer
 

travoupatrav ?  [:zebra33]


---------------
Je code en série et en parallèle
n°235243
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 21:44:54  profilanswer
 

une chose est sure: z'etes tous des paidaikipuducucu


---------------
du bon usage de rand [C] / [C++]
n°235275
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-10-2002 à 22:31:11  profilanswer
 

Serial Coder a écrit a écrit :

travoupatrav ?  [:zebra33]  




 

orazur a écrit a écrit :

a poil !! :sarcastic:  




 
On est pas sur blabla :o Si vous continuez vous allez dire bonjours aux Teletubbies :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°235284
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 26-10-2002 à 22:44:53  profilanswer
 

:jap:


---------------
du bon usage de rand [C] / [C++]
n°235307
Musaran
Cerveaulté
Posté le 26-10-2002 à 23:33:26  profilanswer
 

Il faut se souvenir que les fonctions définies dans le corps de la classe sont "inline", ce qui n'est pas génial quand elles sont trop longues...
Et les opérateurs membres de la classe ont un premier argument implicitement du type exact de la classe, donc ça ne marche pas pour cout<<obj.
Ne pas oublier de recevoir des références const si on ne modifies pas l'objet.
 
CNoeud.hpp

Code :
  1. class CNoeud
  2. {
  3. //...
  4. friend ostream& operator<<(ostream& flux, const CNoeud& obj);
  5. friend istream& CNoeud::operator >>(istream& flux, CNoeud& obj)
  6. public :
  7. CNoeud(){};
  8. ~CNoeud(){};
  9. };


CNoeud.cpp

Code :
  1. #include "CNoeud.hpp"
  2. ostream& CNoeud::operator<<(ostream& flux, const CNoeud& obj)
  3. {
  4. //...
  5. return flux;
  6. }
  7. istream& CNoeud::operator >>(istream& flux, CNoeud& obj)
  8. {
  9. //...
  10. return flux;
  11. }

   
 
Ce genre de comparaisons est dangereuse:

Code :
  1. obj.etat_civil=="marie"

Il vaudrait mieux stocker une énumération, ou des références sur un ensemble de "string" prédéfinies.
 
Il me semble que le membre "it" n'a rien à faire dans la classe.
Par contre, un typedef oui:

Code :
  1. typedef multimap<string,CNoeud>::iterator enfants_itor;


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°239193
nicolasm
Posté le 04-11-2002 à 13:54:06  profilanswer
 

[respect]Musaran[/respect] a écrit :

 



n°239623
Musaran
Cerveaulté
Posté le 04-11-2002 à 23:57:20  profilanswer
 

Ça reste des notions de base, des réflexes qu'on finit par apprendre.
Les objests C++, je les ai peu utilisés en fait.
 
Elle est partie... ce qui ne m'étonne pas.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  coorigez moi svp , pour une debutante en c++ , merci à tous........

 

Sujets relatifs
[PHP] Include/require à distance (résolu, merci!)C truc a la con : c quoi char to int en C ?? merci
Site internet en creation, demande d'aide merci..Aide novice merci sur fichier.exe
[cours d'optimisation inside] Détournement de topic (merci phenix )SED insertion exemple SVP [ laissez tomber ] merci
Un script qui fait bizzarre , pourriez vous regarder ca ??? merciQuelqu'un pourrait'il m'aider sur une source assez compliqué ! merci
[SHELL-SCRIPT] forwarding files by mail [RESOLU] merciA ceux qui utilisent ANT...[Résolu merci Dark et Greg]
Plus de sujets relatifs à : coorigez moi svp , pour une debutante en c++ , merci à tous........


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR