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);