first commit with existing project files
This commit is contained in:
147
partie2-etudiants.js
Normal file
147
partie2-etudiants.js
Normal file
@@ -0,0 +1,147 @@
|
||||
const etudiantsTab = [
|
||||
{nom: "Alice", note: 17.5},
|
||||
{nom: "Bob", note: 9},
|
||||
{nom: "Claire", note: 13.75}
|
||||
]
|
||||
|
||||
function calculerMoyenneGroupe(etudiants) {
|
||||
|
||||
const notes = [];
|
||||
|
||||
etudiants.forEach(etudiant => {
|
||||
notes.push(etudiant.note);
|
||||
})
|
||||
|
||||
const somme = notes.reduce((acc, note) => acc + note, 0);
|
||||
const moyenne = somme / notes.length;
|
||||
|
||||
return moyenne.toFixed(2);
|
||||
}
|
||||
|
||||
function calculerMoyenneAdmis(etudiants) {
|
||||
|
||||
const admis = [];
|
||||
|
||||
etudiants.forEach(etudiant => {
|
||||
if(etudiant.note >= 10) admis.push(etudiant);
|
||||
})
|
||||
|
||||
return calculerMoyenneGroupe(admis);
|
||||
}
|
||||
|
||||
function calculerMention(etudiant) {
|
||||
if (etudiant.note >= 16 && etudiant.note <= 20) {
|
||||
return "Très bien";
|
||||
} else if (etudiant.note >= 14 && etudiant.note < 16) {
|
||||
return "Bien";
|
||||
} else if (etudiant.note >= 12 && etudiant.note < 14) {
|
||||
return "Assez bien";
|
||||
} else if (etudiant.note >= 10 && etudiant.note < 12) {
|
||||
return "Passable";
|
||||
} else {
|
||||
return "Échec";
|
||||
}
|
||||
}
|
||||
|
||||
function calculerAdmis(etudiants) {
|
||||
|
||||
const admis = [];
|
||||
|
||||
etudiants.forEach(etudiant => {
|
||||
if (etudiant.note >= 10) {
|
||||
admis.push(etudiant);
|
||||
}
|
||||
});
|
||||
|
||||
return admis;
|
||||
}
|
||||
|
||||
function analyserEtudiants(etudiants) {
|
||||
const analyse = {};
|
||||
|
||||
const admis = [];
|
||||
const mentions = [];
|
||||
|
||||
calculerAdmis(etudiants).forEach(etudiant => {
|
||||
admis.push(etudiant.nom);
|
||||
})
|
||||
|
||||
etudiants.forEach(etudiant => {
|
||||
mentions.push({nom: etudiant.nom, mention: calculerMention(etudiant)});
|
||||
})
|
||||
|
||||
analyse.moyenne = calculerMoyenneGroupe(etudiants);
|
||||
analyse.admis = admis;
|
||||
|
||||
analyse.mentions = mentions;
|
||||
|
||||
return analyse;
|
||||
}
|
||||
|
||||
function ajouterElementEtudiant(etudiant) {
|
||||
const studentDiv = document.querySelector('.students');
|
||||
const p = document.createElement("p");
|
||||
|
||||
studentDiv.appendChild(p);
|
||||
|
||||
p.innerText = ` - ${etudiant.nom} : ${etudiant.note}/20 (${calculerMention(etudiant)})`;
|
||||
}
|
||||
|
||||
function ajouterEtudiant() {
|
||||
const addStudentBtn = document.getElementById("add-student");
|
||||
|
||||
addStudentBtn.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
const nom = document.getElementById("ajouterPrenom").value;
|
||||
const note = parseFloat(document.getElementById("ajouterNote").value);
|
||||
|
||||
const etudiant = {
|
||||
"nom": nom,
|
||||
"note": note
|
||||
}
|
||||
|
||||
if((etudiant.nom != null || etudiant.nom !== "") && etudiant.note != null) {
|
||||
ajouterElementEtudiant(etudiant);
|
||||
etudiantsTab.push(etudiant);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function afficherEtudiants() {
|
||||
etudiantsTab.forEach(etudiant => {
|
||||
ajouterElementEtudiant(etudiant);
|
||||
});
|
||||
}
|
||||
|
||||
function afficherMoyenneGroupe(etudiants) {
|
||||
const moyenneGroupeBtn = document.getElementById("moyenne-groupe-btn");
|
||||
const moyenneGroupe = document.getElementById("moyenne-groupe");
|
||||
|
||||
moyenneGroupeBtn.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
moyenneGroupe.style.fontWeight = "normal";
|
||||
moyenneGroupe.innerText = `${calculerMoyenneGroupe(etudiants)}/20`;
|
||||
})
|
||||
}
|
||||
|
||||
function afficherMoyenneAdmis(etudiants) {
|
||||
const moyenneAdmisBtn = document.getElementById("moyenne-admis-btn");
|
||||
const moyenneAdmis = document.getElementById("moyenne-admis");
|
||||
|
||||
moyenneAdmisBtn.addEventListener("click", (e) => {
|
||||
e.preventDefault();
|
||||
moyenneAdmis.style.fontWeight = "normal";
|
||||
moyenneAdmis.innerText = `${calculerMoyenneAdmis(etudiants)}/20`;
|
||||
})
|
||||
}
|
||||
|
||||
console.log(JSON.stringify(analyserEtudiants(etudiantsTab)));
|
||||
|
||||
afficherMoyenneGroupe(etudiantsTab);
|
||||
|
||||
afficherMoyenneAdmis(etudiantsTab);
|
||||
|
||||
ajouterEtudiant();
|
||||
|
||||
afficherEtudiants(etudiantsTab);
|
||||
Reference in New Issue
Block a user