Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
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
a9aeee1e
Commit
a9aeee1e
authored
Oct 28, 2021
by
Benoit AUGER--DUBOIS
Browse files
daz
parent
ced5d13d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Tp3/tp3.cpp
View file @
a9aeee1e
...
...
@@ -24,9 +24,9 @@ struct t_etudiante {
};
// fonction qui demande a l'utilisateur d'entrer le nom de l'étudiante puis l'assigne a la structure.
void
changeEtuName
(
t_etudiante
&
etu
){
void
changeEtuName
(
vector
<
t_etudiante
>
&
t
etu
,
int
indice
){
cout
<<
"Entrer le nom et le prénom de l'étudiante."
<<
endl
;
getline
(
etu
.
nom_prenom
,
etu
.
nom_prenom
);
// utilisation de getline pour prendre en compte les espaces.
getline
(
cin
,
tetu
[
indice
]
.
nom_prenom
);
// utilisation de getline pour prendre en compte les espaces.
}
/* forme un binome de 2 étudiantes a l'aide de pointeurs, on part du principe qu'un étudianr peut avoir 1 seul binome
...
...
@@ -125,13 +125,14 @@ void affTabEtu (vector <t_etudiante> etu){
}
// permet a l'utilisateur d'ajouter le numéro de l'étudiant, vérifie si le numéro est valide.
void
addNumEtu
(
t_etudiante
&
etu
,
vector
<
int
>
memo
){
void
addNumEtu
(
vector
<
t_etudiante
>
&
t
etu
,
vector
<
int
>
&
memo
,
int
indice
){
int
temp
;
cout
<<
"entrer le numéro de l'étudiant : "
<<
endl
;
cin
>>
temp
;
// verifie que le numéro n'éxiste pas deja et qu'il est valide.
if
(
temp
>
0
&&
countInTab
(
temp
,
memo
)
==
0
){
etu
.
nu_etu
=
temp
;
tetu
[
indice
].
nu_etu
=
temp
;
memo
.
push_back
(
temp
);
// on stock le numéro de l'étudiant
}
else
{
cout
<<
"Ce numéro est invalide, un numéro valide est supérieur a 0 et unique "
<<
endl
;
}
...
...
@@ -144,10 +145,15 @@ int main(){
const
int
nb
=
numberOfStudents
;
if
(
numberOfStudents
>
0
){
vector
<
t_etudiante
>
tabEtu
(
nb
);
// création du tableau dynamique aussi appelée vector.
vector
<
int
>
tabMemorize
;
// mémorize les numéros étudiants deja affichés.
for
(
int
i
=
0
;
i
<
tabEtu
.
size
()
;
i
++
){
// remplis le tableaux d'étudiants d'information sur les étudiants.
addNumEtu
(
tabEtu
[
i
],
tabMemorize
);
changeEtuName
(
tabEtu
[
i
]);
vector
<
int
>
tabMemorize
;
// mémorize les numéros étudiants.
int
indiceT
=
0
;
while
(
indiceT
<
tabEtu
.
size
()){
// remplis le tableaux d'étudiants d'information valide sur les étudiants.
int
ajout
=
tabMemorize
.
size
();
// permet de vérifier si un étudiant a été créer
addNumEtu
(
tabEtu
,
tabMemorize
,
indiceT
);
// si le numéro est valide il est stocké dans tabMemorize
if
(
ajout
<
tabMemorize
.
size
()){
changeEtuName
(
tabEtu
,
indiceT
);
indiceT
++
;
}
}
if
(
tabEtu
.
size
()
>
1
){
// verifie que l'on peux former au moins 1 binome.
int
etuT1
,
etuT2
=
0
;
...
...
Write
Preview
Markdown
is supported
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