Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Benoit AUGER--DUBOIS
L2_S1_ALGO_STRUCT_DONNEE
Commits
c79abd7b
Commit
c79abd7b
authored
Oct 28, 2021
by
Benoit AUGER--DUBOIS
Browse files
ajout
parent
e214f2a2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Tp3/tp3.cpp
View file @
c79abd7b
...
...
@@ -11,7 +11,7 @@ Auger-Dubois benoit et Atalla Fadia groupe 385K
Explication d'élément du code :
1) Nous allons utilisé le type string plutôt que le tableau de caractères
pour pouvoir utiliser la fonction getline, afin d'utiliser des espaces lors d'une saisie.
2) On utilisera
la fonction free()
pour désallouer un pointeur.
2) On utilisera
delete
pour désallouer un pointeur.
3) On utilisera les vector comme tableaux dynamique.
*/
...
...
@@ -21,7 +21,7 @@ struct t_etudiante {
string
nom_prenom
;
t_etudiante
*
binome
;
// pointeur vers l'étudiant binôme.
bool
isBinome
;
// vrai quand l'étudiant possède un binome faux sinon, permet de gérer l'affectation des binomes efficacement.
}
}
;
// fonction qui demande a l'utilisateur d'entrer le nom de l'étudiante puis l'assigne a la structure.
void
changeEtuName
(
t_etudiante
&
etu
){
...
...
@@ -46,7 +46,7 @@ void formBinome (t_etudiante &etu1 , t_etudiante &etu2){
etu1
.
binome
=
*
etu2
;
etu1
.
isBinome
=
true
;
etu2
.
binome
->
isBinome
=
false
;
etu2
.
binome
->
binome
=
free
()
;
// permet d'éviter que 2 étudiant soit en binome avec etu2 en même temps.
delete
etu2
.
binome
->
binome
;
// permet d'éviter que 2 étudiant soit en binome avec etu2 en même temps.
etu2
.
binome
=
*
etu1
;
etu2
.
isBinome
=
true
;
}
...
...
@@ -57,15 +57,15 @@ void formBinome (t_etudiante &etu1 , t_etudiante &etu2){
etu2
.
binome
=
*
etu1
;
etu2
.
isBinome
=
true
;
etu1
.
binome
->
isBinome
=
false
etu1
.
binome
->
binome
=
free
()
;
// permet d'éviter que 2 étudiant soit en binome avec etu1 en même temps.
delete
etu1
.
binome
->
binome
;
// permet d'éviter que 2 étudiant soit en binome avec etu1 en même temps.
etu1
.
binome
=
*
etu2
;
etu1
.
isBinome
=
true
;
}
else
{
// etu2 et etu1 avait un binome il faut désallouer le pointeur de son binome.
etu1
.
binome
->
isBinome
=
false
;
etu1
.
binome
->
binome
=
free
()
;
delete
etu1
.
binome
->
binome
;
etu2
.
binome
->
isBinome
=
false
;
etu2
.
binome
->
binome
=
free
()
;
delete
etu2
.
binome
->
binome
;
etu1
.
binome
=
*
etu2
;
etu1
.
isBinome
=
true
;
etu2
.
binome
=
*
etu1
;
...
...
@@ -93,8 +93,8 @@ void affBinome (t_etudiante etu){
void
breakBinome
(
t_etudiante
&
etu
){
if
(
etu
.
isBinome
){
etu
.
binome
->
isBinome
=
false
;
etu
.
binome
->
binome
=
free
()
;
etu
.
binome
=
free
()
;
delete
etu
.
binome
->
binome
;
delete
etu
.
binome
;
etu
.
isBinome
=
false
;
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment