Commit ff7e60c3 authored by Benoit AUGER--DUBOIS's avatar Benoit AUGER--DUBOIS
Browse files

ajout

parent dc655ace
......@@ -56,7 +56,7 @@ void formBinome (t_etudiante &etu1 , t_etudiante &etu2){
// etu 2 n'avait pas de binome.
etu2.binome = &etu1;
etu2.isBinome = true;
etu1.binome->isBinome = false
etu1.binome->isBinome = false;
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;
......@@ -112,14 +112,14 @@ int countInTab(int test, vector<int> tab){
}
// affiche les binomes sans doublons d'un groupe d'étudiants contenu dans un tableau dynamique
void affTabEtu (t_etudiante etu){
void affTabEtu (vector <t_etudiante> etu){
vector<int> tabMemorize2; // tableau utile pour l'affichage des binomes sans doublons, mémorize les numéros étudiants deja affichés.
for (int y = 0; y < etu.size() ; y++){
tabMemorize2.push_back(etu[y].nu_etu); // la place dans le tableau est arbitraire, seuls les valeurs nu.etu m'intérèsse.
tabMemorize2.push_back(etu[y].binome->nu_etu);
// évite d'afficher 2 fois le même binome
if (countInTab(tabEtu[y].nu_etu, tabMemorize2) < 2 && countInTab(tabEtu[y].binome->nu_etu, tabMemorize2) < 2){
affBinome(tabEtu[y]);
if (countInTab(etu[y].nu_etu, tabMemorize2) < 2 && countInTab(etu[y].binome->nu_etu, tabMemorize2) < 2){
affBinome(etu[y]);
}
}
}
......@@ -137,7 +137,7 @@ void addNumEtu (t_etudiante &etu, vector <int> memo){
}
int main(){
int const numberOfStudents;
int numberOfStudents;
cout << "Entrer le nombres d'étudiant du groupe" << endl;
cin >> numberOfStudents;
if (numberOfStudents > 0){
......@@ -147,16 +147,16 @@ int main(){
addNumEtu(tabEtu[i],tabMemorize);
changeEtuName(tabEtu[i]);
}
if ( tab.Etu.size() > 1){ // verifie que l'on peux former au moins 1 binome.
if ( tabEtu.size() > 1){ // verifie que l'on peux former au moins 1 binome.
int etuT1,etuT2 = 0;
while (etuT1 != -1 && etuT2 != -1)){
while (etuT1 != -1 && etuT2 != -1){
cout << "entrer le numéro du premier étudiant du binome, ou -1 pour arrêter " << endl;
cin >> etuT1;
cout << "entrer le numéro du deuxième étudiant du binome, ou -1 pour arrêter " << endl;
cin >> etuT2;
// vérifie que les numéros éxiste dans le groupe d'étudiant
if (countInTab(etuT1,tabMemorize) > 0 && countInTab(etuT2,tabMemorize) > 0){
formBinome(etuT1,etuT2);
formBinome(tabEtu[etuT1],tabEtu[etuT2]);
} else {
cout << "c'est numéro ne sont pas dans le groupe" << endl;
}
......@@ -170,14 +170,15 @@ int main(){
// détruit tous les binome existant en désallouant les pointeurs.
for (int y = 0; y < tabEtu.size() ; y++){
if (tabEtu[y].isBinome == true){
tabEtu[y].binome->binome == free(); // désaloue le pointeur du binome.
tabEtu[y].binome = free(); // désaloue le pointeur de l'étudiant.
delete tabEtu[y].binome->binome; // désaloue le pointeur du binome.
delete tabEtu[y].binome; // désaloue le pointeur de l'étudiant.
}
}
//affiche les binomes du groupe sans doublons.
affTabEtu(tabEtu);
delete tabEtu; // désalocation des tableaux dynamiques.
delete tabMemorize;
} else { // si nombre d'étudiants <= 0.
cout << "Il doit avoir au moins 1 étudiants ! " << endl;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment