trie date

trie date - C++ - Programmation

Marsh Posté le 10-12-2002 à 23:55:34    

J'ai un exo a rendre  
les consignes sont les suivantes
1. Concevoir et coder (C++ standard) une classe personne ayant pour attributs  
char * nom;  
char * prenom;  
date dateDeNaissance
2. Ajouter les méthodes nécessaires pour trier des personnes par ordre alpabétique sur le nom, puis par date de naissance croissante.  
3. Tester le tri (fonction main) sur un nombre significatif de personnes (au moins 5)  
 
bon j'ai essayer de faire ca , si qqn pourrait m'aider merci
 
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 // classe date
class date
{
public:
date(void);
date(int,int,int);
~date(void){}
void saisir();
void afficher();
int extrairea();
int extrairem();
int extrairej();
private:
unsigned int j,m,a;
} ;
 //------------------------------------------
class personne
{
char * nom;  
char * prenom;  
date dateDeNaissance;
//
public:
personne(void);
personne(char,char,date);
~personne(void){}
void saisir();
void trie_nom();
void trie_date ;
} ;
 
date::date(void)         //création d'une date
{
}
date::date(int,int,int)       // initialisation des variable d
 {}
                                      // saise des variable
void date::saisir()
{
cout<<"jour :";
cin>>j;
cout<<"mois :";
cin>>m;
cout<<"annee :" ;
cin>>a;
}
 
void date::afficher()                  // affiche la date
{
cout<<j<<"/"<<m<<"/"<<a;
}
int date::extrairea()
{return (a);}
 
int date::extrairem()
{return (m);}
 
int date::extrairej()
{return (j);}
// fct de la classe personne--------------------
 void personne::saisir()
 {
 char tab[i]
 cout<<"combien de personne";
 cin>>nbr;
 for (inti=0, i>nbr,i++){
 date madatei
   cout<<"entrez le nom";
   cin>>nom;
   cout<<"entres le prénom";
   cin>>prenom;
   cout<<"entrez la date de naissance";
   madatei.saisir();
   tab[i]=madate
 }
void personne::trie_date()       // on
{
 
 
void main()
{
//on saisie les nom
personne nom
nom.sasir
// on fait un trie selon le nom
 
// on fait une trie selon la date de naissance
 
 system("PAUSE" );
}


---------------
http://www.independza.com
Reply

Marsh Posté le 10-12-2002 à 23:55:34   

Reply

Marsh Posté le 11-12-2002 à 08:44:29    

mets de la couleur s'il te plait au passage:
+ c'est <iostream> sans .h
+ conio.h et stdlib.h ne servent à rien et sont mal déclarer (substantypage C)
+ le type de retour de main doit etre int (le return 0; est implicite)
+ et bordel: cout n'existe pas! alors rajoute un joli "using namespace std;" au début de tout tes programmes (juste apres tes #include)
+ return n'est pas une fonction mais un opérateur: les parentheses sont inutiles
+ abandonne tes char* non-initialisé, non-alloué surtout pour des std::string
 
 
==> si tuf ais tout ça, peut etre qu'on pourra commencer à réfléchir sur ton exercice


Message édité par Taz@PPC le 11-12-2002 à 08:46:35

---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 11-12-2002 à 12:53:50    

Code :
  1. #include <iostream.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. // classe date
  5. class date
  6. {
  7. public:
  8. date(void);
  9. date(int,int,int);
  10. ~date(void){}
  11. void saisir();
  12. void afficher();
  13. int extrairea();
  14. int extrairem();
  15. int extrairej();
  16. private:
  17. unsigned int j,m,a;
  18. } ;
  19. //------------------------------------------
  20. class personne
  21. {
  22. char * nom; 
  23. char * prenom; 
  24. date dateDeNaissance;
  25. //
  26. public:
  27. personne(void);
  28. personne(char,char,date);
  29. ~personne(void){}
  30. void saisir();
  31. void trie_nom();
  32. void trie_date ;
  33. } ;
  34. date: ate(void)         //création d'une date
  35. {
  36. }
  37. date: ate(int,int,int)       // initialisation des variable d
  38. {}
  39.                                      // saise des variable
  40. void date::saisir()
  41. {
  42. cout<<"jour :";
  43. cin>>j;
  44. cout<<"mois :";
  45. cin>>m;
  46. cout<<"annee :" ;
  47. cin>>a;
  48. }
  49. void date::afficher()                  // affiche la date
  50. {
  51. cout<<j<<"/"<<m<<"/"<<a;
  52. }
  53. int date::extrairea()
  54. {return (a);}
  55. int date::extrairem()
  56. {return (m);}
  57. int date::extrairej()
  58. {return (j);}
  59. // fct de la classe personne--------------------
  60. void personne::saisir()
  61. {
  62. char tab[i]
  63. cout<<"combien de personne";
  64. cin>>nbr;
  65. for (inti=0, i>nbr,i++){
  66. date madatei
  67.   cout<<"entrez le nom";
  68.   cin>>nom;
  69.   cout<<"entres le prénom";
  70.   cin>>prenom;
  71.   cout<<"entrez la date de naissance";
  72.   madatei.saisir();
  73.   tab[i]=madate
  74. }
  75. void personne::trie_date()       // on
  76. {
  77. void main()
  78. {
  79. //on saisie les nom
  80. personne nom
  81. nom.sasir
  82. // on fait un trie selon le nom
  83. // on fait une trie selon la date de naissance
  84. system("PAUSE" );
  85. }


Message édité par bol972 le 11-12-2002 à 12:54:30

---------------
http://www.independza.com
Reply

Marsh Posté le 11-12-2002 à 12:57:20    

Taz@PPC a écrit :

mets de la couleur s'il te plait au passage:
+ c'est <iostream> sans .h
+ conio.h et stdlib.h ne servent à rien et sont mal déclarer (substantypage C)
+ le type de retour de main doit etre int (le return 0; est implicite)
+ et bordel: cout n'existe pas! alors rajoute un joli "using namespace std;" au début de tout tes programmes (juste apres tes #include)
+ return n'est pas une fonction mais un opérateur: les parentheses sont inutiles
+ abandonne tes char* non-initialisé, non-alloué surtout pour des std::string
 
 
==> si tuf ais tout ça, peut etre qu'on pourra commencer à réfléchir sur ton exercice


pour le <iostream.h> dans mon cours c ainsi j'applique ce que j'ai apris
si je n'utilise pas  ca
+ conio.h et stdlib.h
je n'arrive pas a utiliser ca system("PAUSE" );  
pourquoi n'existe pas ? encore un fois c que la prof me donne dans mes cours  


---------------
http://www.independza.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed