/* Fichier structure0.cpp */ #include #include using namespace std; // une maniere de declarer 2 variables de type structure. struct { int cafe ; float taille, poids; } pers1, pers2; // pour consulter l'écran d'exécution void continuer() { char reponse ; cout << "\nAppuyez sur une lettre suivie de Entree " ; cin >> reponse ; } void demo1() { cout << "Premiere demonstration " << endl; pers1.cafe = 2; pers1.taille = 1.72; pers1.poids = 65.4; cout << "Infos de la pers1 " << endl; cout << " cafe : " << setw(5) << pers1.cafe << " tasse(s) " << endl; cout << " taille : " << setw(5) << setprecision(2) << pers1.taille << " metre " << endl; cout << " poids : " << setw(5) << setprecision(1) << pers1.poids << " kg " << endl; cout << endl; pers2.cafe = 0; pers2.taille = 1.65; pers2.poids = 71.9; cout << "Infos de la pers2 " << endl; cout << " cafe : " << setw(5) << pers2.cafe << " tasse(s) " << endl; cout << " taille : " << setw(5) << setprecision(2) << pers2.taille << " metre " << endl; cout << " poids : " << setw(5) << setprecision(1) << pers2.poids << " kg " << endl; cout << endl << endl; } // definir un nouveau type, cette maniere est populaire en C typedef struct { int cafe ; float taille, poids ; } Personne; // Personne est alors le nom du type structure void saisir(Personne & unePers) { cout << "Tapez le nb. de tasse(s) de cafe, la taille et le poids "; cin >> unePers.cafe >> unePers.taille >> unePers.poids; } void afficher(Personne unePers, const char message[]) { cout << "Infos de la " << message << " : " << endl; cout << " cafe : " << setw(5) << unePers.cafe << " tasse(s) " << endl; cout << " taille : " << setw(5) << setprecision(2) << unePers.taille << " metre " << endl; cout << " poids : " << setw(5) << setprecision(1) << unePers.poids << " kg " << endl; cout << endl; } template void permuter(T &x, T &y) { T tempo = x; x = y; y = tempo; } void demo2() { cout << "Deuxieme demonstration : " << endl; Personne pers1, pers2 ; saisir(pers1); afficher(pers1, "premiere personne"); saisir(pers2); afficher(pers2, "personne pers2"); Personne pers3 = { 5, 1.78, 76.5 }; afficher(pers3, " pers3 "); permuter(pers1, pers2); afficher(pers1, "premiere personne apres la permutation"); afficher(pers2, "personne pers2 apres la permutation"); Personne * p = &pers1; cout << "La taille : " << setw(5) << setprecision(2) << p->taille << " metre\n"; cout << "Le poids : " << setw(5) << setprecision(1) << p->poids << " kg\n"; cout << p->cafe << " tasse(s) de cafe par jour\n"; } int main() { cout.setf(ios::fixed); cout.setf(ios::showpoint); demo1(); demo2(); continuer(); return 0; } /* Exécution : Premiere demonstration Infos de la pers1 cafe : 2 tasse(s) taille : 1.72 metre poids : 65.4 kg Infos de la pers2 cafe : 0 tasse(s) taille : 1.65 metre poids : 71.9 kg Deuxieme demonstration : Tapez le nb. de tasse(s) de cafe, la taille et le poids 1 1.65 56.7 Infos de la premiere personne : cafe : 1 tasse(s) taille : 1.65 metre poids : 56.7 kg Tapez le nb. de tasse(s) de cafe, la taille et le poids 3 1.78 76.5 Infos de la personne pers2 : cafe : 3 tasse(s) taille : 1.78 metre poids : 76.5 kg Infos de la pers3 : cafe : 5 tasse(s) taille : 1.78 metre poids : 76.5 kg Infos de la premiere personne apres la permutation : cafe : 3 tasse(s) taille : 1.78 metre poids : 76.5 kg Infos de la personne pers2 apres la permutation : cafe : 1 tasse(s) taille : 1.65 metre poids : 56.7 kg La taille : 1.78 metre Le poids : 76.5 kg 3 tasse(s) de cafe par jour Appuyez sur une lettre suivie de Entree*/