1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| /*POINTEURS ET TABLEAUX STATIQUE-- VILAIN -- 284I-- 24/10/2021 -- DEFINIR DES TYPES ET SAVOIR L'AFFCIHER*/
#include <stdlib.h>
#include <vector>
#include <string>
#include <unistd.h>
#include <fstream>
#include <stdio.h> // pour printf,scanf..
#include <iostream> // pour cin, cout, endl
using namespace std;
struct t_etudiant {
int NumEtu;
string Nom;
string Prenom;
t_etudiant* Binome = NULL;
};
void ModifNom (t_etudiant* Etu, string Nom, string Prenom) {
Etu->Nom = Nom;
Etu->Prenom = Prenom;
};
void CreerBinome(t_etudiant* Etu1, t_etudiant* Etu2) {
if (Etu1 && Etu2) {
Etu1->Binome = Etu2;
Etu2->Binome = Etu1;
}
else {
cout << "Vos variables ne sont pas définit" << endl;
exit(-1);
}
}
void DetruireBinome(t_etudiant Etu1, t_etudiant Etu2) {
if (Etu1.Binome == &Etu2 && Etu2.Binome == &Etu1) {
Etu1.Binome = NULL;
Etu2.Binome = NULL;
cout << "Le Binome n'existe plus" << endl;
}
else {
cout << "Il n'y a pas de Binomes avec ces éleves" << endl;
}
}
void AffichageInformations(t_etudiant &Etu){
cout << "INFORMATION etudiant" << endl;
cout << "---------------------" << endl;
cout << "Numero etudiant : " << Etu.NumEtu << endl;
cout << "Nom: " << Etu.Nom << endl;
cout << "Prenom: " << Etu.Prenom << endl;
cout << "----------------------" << endl;
cout << "INFORMATION SUR SON Binome" << endl;
cout << "--------------------------" << endl;
cout << "Numero etudiant : " << Etu.Binome->NumEtu << endl;
cout << "Nom: " << Etu.Binome->Nom << endl;
cout << "Prenom: " << Etu.Binome->Prenom << endl;
cout << "---------------------------" << endl;
}
bool MauvaisNumEtu(int NumEtu, t_etudiant tab[], int nbElm) {
bool estUtilise = false;
for (int i = 0; i < nbElm; i++) {
if (tab[i].NumEtu == NumEtu) {
estUtilise = false;
}
}
return estUtilise;
}
void SaisieInfoEtu(t_etudiant &Etu, t_etudiant tab[], int nbElm) {
cout << "Saisissez le Numero etudiant" << endl;
cin >> Etu.NumEtu;
while (MauvaisNumEtu(Etu.NumEtu, tab, nbElm) || Etu.NumEtu < 0) {
if (Etu.NumEtu < 0) {
cout << "Le numero saisi doit être positif" << endl;
cout << "Reesayer : " << endl;
cin >> Etu.NumEtu;
}
if (MauvaisNumEtu(Etu.NumEtu, tab, nbElm)) {
cout << "Ce numero est deja pris" << endl;
cin >> Etu.NumEtu;
}
}
cout << "Entrez le prenom de l'étudiant" << endl;
cin >> Etu.Prenom;
cout << "Entre le nom de l'étudiant" << endl;
cin >> Etu.Nom;
cout << "N'oubliez pas d'attribuer un Binome à cet étudiant" << endl;
cout << endl;
}
int main() {
//cout << "Quel est le nombre d'etudiant dans ce groupe" << endl;
int nbetudiant = 2;
if (nbetudiant > 0) { //On utilisera le tableau "dans" le if
t_etudiant *groupeEtu = new t_etudiant[nbetudiant];
for (int i = 0; i < nbetudiant; i++) {
SaisieInfoEtu(groupeEtu[i], groupeEtu, nbetudiant);
}
AffichageInformations(groupeEtu[0]);
AffichageInformations(groupeEtu[1]);
delete[] groupeEtu;
}
else {
cout << "Le nombre d'etudiant doit etre positif." << endl;
}
return 0;
} |