4 réponses
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
11 déc. 2002 à 10:03
11 déc. 2002 à 10:03
Quel est ton probleme?
ö,ö "Il est plus facile de donner des conseils
\_/ que de les appliquer"
ö,ö "Il est plus facile de donner des conseils
\_/ que de les appliquer"
en fait
je sais pas deja si mon code est bon par rapport a l'enonce
comment faire pour faire le trie selon les noms
comment faire pour faire trie selon la date de naissance
je sais pas deja si mon code est bon par rapport a l'enonce
comment faire pour faire le trie selon les noms
comment faire pour faire trie selon la date de naissance
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
12 déc. 2002 à 14:21
12 déc. 2002 à 14:21
tu n'as jamais fait d'algo de tri??? utilises en un et pour les comparaisons entre les noms, utilises strcmp de la libraiaie string.h, pour les date, tu compares a puis m puis j, mais attention, le tri par datedenaissance ne se fait q si par exemple 2 personnes ont meme nom de famille, donc ce n'est pas a tous les couts q l'on trie par date, tu devrais avoir une methode tri public et les methodes tri_date et tri_nom tu les mets prive car je pense d'appres le sujet, le user n'a pas besoin de savoir comment st tries les personnes, il verra resultat trie qu'il p analyer coe il v.
tafiscobar
tafiscobar
non
mais j'ai refais mon code il ne marche pas mais je pense qu'il est + clair
#include <iostream.h>
// class date
class date
{
public:
date(void);
date(int,int,int);
~date(void){}
void saisir();
void afficher();
private:
unsigned int j,m,a;
} ;
date::date(void)
{}
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;
}
class personne
{
public:
personne(void);
personne(char,char,date);
~personne(void){}
void saisir();
bool EstPlusGrandQue(personne &obj);
private:
char * nom;
char * prenom;
date daten; // utilisation de l'objet date
};
personne::personne(void)
{}
personne::personne(char,char,date)
{}
void personne::saisir()
{
cout<<"entrez le nom";
cin>>nom;
cout<<"entrez le prénom";
cout<<"entrez la date naissance";
daten.saisir();
}
// trier selon puis apres selon la date
bool personne::EstPlusGrandQue(personne &obj)
{
if( nom > obj.nom ){
return true;
else if( (nom == obj.nom) && (date > obj.date)
return true;
else
return false;
}
}
void main()
{
int nbr;
personne tab;
// nombre de personne a entre qui ne doit pas etre inférieur a 5
while ( nbr < 5 ){
cout<<"combien de personne voulez vous entrez ?";
cin>> nbr;
}
//on saisie les nom à l'aide d'un tableau
for ( int i = 0, i < nbr ; i++ )
{
tab=new int [nbr];
i.saisir;
cin>>tab[i];
};
// trie le tableau selon le nom puis les personnes
void tri(personne& tab[], int nbr)
{
*char nouveau;
int i, j;
for (i = 0; i < nbr; i++)
for (j = 0; j < nbr; j++)
if (( tab[i].EstPlusGrandQue(tbleau[j]) )
{
nouveau = tab[i].nom;
tab[i].nom = tab[j].nom;
tab[j].nom = nouveau;
}
}
delete tab;
return 0;
}
mais j'ai refais mon code il ne marche pas mais je pense qu'il est + clair
#include <iostream.h>
// class date
class date
{
public:
date(void);
date(int,int,int);
~date(void){}
void saisir();
void afficher();
private:
unsigned int j,m,a;
} ;
date::date(void)
{}
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;
}
class personne
{
public:
personne(void);
personne(char,char,date);
~personne(void){}
void saisir();
bool EstPlusGrandQue(personne &obj);
private:
char * nom;
char * prenom;
date daten; // utilisation de l'objet date
};
personne::personne(void)
{}
personne::personne(char,char,date)
{}
void personne::saisir()
{
cout<<"entrez le nom";
cin>>nom;
cout<<"entrez le prénom";
cout<<"entrez la date naissance";
daten.saisir();
}
// trier selon puis apres selon la date
bool personne::EstPlusGrandQue(personne &obj)
{
if( nom > obj.nom ){
return true;
else if( (nom == obj.nom) && (date > obj.date)
return true;
else
return false;
}
}
void main()
{
int nbr;
personne tab;
// nombre de personne a entre qui ne doit pas etre inférieur a 5
while ( nbr < 5 ){
cout<<"combien de personne voulez vous entrez ?";
cin>> nbr;
}
//on saisie les nom à l'aide d'un tableau
for ( int i = 0, i < nbr ; i++ )
{
tab=new int [nbr];
i.saisir;
cin>>tab[i];
};
// trie le tableau selon le nom puis les personnes
void tri(personne& tab[], int nbr)
{
*char nouveau;
int i, j;
for (i = 0; i < nbr; i++)
for (j = 0; j < nbr; j++)
if (( tab[i].EstPlusGrandQue(tbleau[j]) )
{
nouveau = tab[i].nom;
tab[i].nom = tab[j].nom;
tab[j].nom = nouveau;
}
}
delete tab;
return 0;
}