[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
49 vues3 pages

Correction Exercice 4 TP1 C

Le document présente la définition d'une classe Université en C++ avec ses attributs et méthodes. Il montre également comment créer des instances statiques, dynamiques et dans un tableau pour tester la classe.

Transféré par

lafiselma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues3 pages

Correction Exercice 4 TP1 C

Le document présente la définition d'une classe Université en C++ avec ses attributs et méthodes. Il montre également comment créer des instances statiques, dynamiques et dans un tableau pour tester la classe.

Transféré par

lafiselma
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

CORRECTION EXERCICE 4 TP1 C++

// fichier universite.h

#include<string.h>
#include<iostream>
using namespace std;
class UNIVERSITE
{ public:
char * Specialite, * Nom;
int NbrEtudiant;
public:
UNIVERSITE ( );
~ UNIVERSITE ( );
UNIVERSITE (UNIVERSITE &);
void Saisir ( );
void AjouterEtudiant (int);
void Afficher ( );
};
// fichier universite.cpp
#include"universite.h"
UNIVERSITE:: UNIVERSITE () // constructeur par défaut
{ NbrEtudiant = 0 ; Specialite = Nom = NULL;}
///////////////////////////////////////////////////////////
UNIVERSITE::~UNIVERSITE ()
{ if (Nom != NULL)
delete [] Nom ;
if (Specialite != NULL)
delete [] Specialite ;
}
///////////////////////////////////////////////////////////
UNIVERSITE:: UNIVERSITE (UNIVERSITE & U)
{ NbrEtudiant = U.NbrEtudiant ;
Nom = new char [strlen (U.Nom)+1] ;
strcpy (Nom, U.Nom);
Specialite = new char [strlen (U.Specialite)+1] ;
strcpy (Specialite, U.Specialite);
}
///////////////////////////////////////////////////////////
void UNIVERSITE::Saisir ( )
{ char N [1000], S [1000] ;
if (Nom != NULL) delete [] Nom ;
if (Specialite != NULL) delete []Specialite ;
cout<<"Proposer un nom pour l'université: ";
cin >> N;
Nom = new char [strlen (N)+1] ; strcpy (Nom, N);
cout<<"Proposer une spécialité pour l'université: ";
cin>>S;
Specialite = new char [strlen (S)+1] ; strcpy (Specialite, S);
cout<<"Donner le nombre des étudiants: ";
cin>>NbrEtudiant;
}
///////////////////////////////////////////////////////////
void UNIVERSITE::AjouterEtudiant (int e)
{ NbrEtudiant +=e; }
///////////////////////////////////////////////////////////
void UNIVERSITE::Afficher ( )
{ cout<<"Le nom est :"<<Nom <<endl;
cout<<"La spécialité :"<<Specialite <<endl;
cout<<"Le nombre des étudiants :"<<NbrEtudiant<<"\n";
}
///////////////////////////////////////////////////////////
//// fichier principale.cpp
#include"universite.h"
int main()
{
UNIVERSITE u1; //Instance Statique
u1.Saisir ();
u1.Afficher ();
UNIVERSITE *u2; //Instance Dynamique
u2=new UNIVERSITE ();
u2->Saisir ();
u2->Afficher ();
UNIVERSITE campus [5]; // Tableau d'instances
for (int i = 1; i <= 5; i++)
{
cout<<"Université "<<i<<"\n";
campus [i].Saisir ();
campus [i].Afficher ();
}
u2->AjouterEtudiant(6);
u2->Afficher();
delete u2 ;
getch();
}

//Partie 2//
void UNIVERSITE::fusion(UNIVERSITE u)
{ if ( !strcmp(u.Specialite, Specialite))
NbrEtudiant+=u.NbrEtudiant; }

UNIVERSITE fusion2 (UNIVERSITE u1, UNIVERSITE u2)


{ UNIVERSITE u = u1 ;
if ( !strcmp(u1.Specialite, u2.Specialite))
u.NbrEtudiant+=u2.NbrEtudiant;
return u ;
} // il faut déclarer fusion2 amie à UNIVERSITE avec le mot cle friend

Vous aimerez peut-être aussi