11/06/2025
On vous republie le code qui permet de calculer la moyenne générale et la moyenne de chaque module, mettez le dans le terminal de console après avoir fait un clique droit, puis Inspecter et finalement choisir la rubrique "Console"
function tableToJson(table) {
var data = [];
var headers = [];
for (var i = 0; i < table.rows[0].cells.length; i++) {
headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi, '');
}
for (var i = 1; i < table.rows.length; i++) {
var tableRow = table.rows[i];
var rowData = {};
for (var j = 0; j < tableRow.cells.length; j++) {
rowData[headers[j]] = tableRow.cells[j].innerHTML;
}
data.push(rowData);
}
data.forEach(x => {
x.coef = parseFloat(x.coef.replace(',', '.'))
x.note_exam = parseFloat(x.note_exam.replace(',', '.'))
x.note_cc = parseFloat(x.note_cc.replace(',', '.'))
x.note_tp = parseFloat(x.note_tp.replace(',', '.'))
})
return data;
}
var table = document.getElementById('ContentPlaceHolder1_GridView1')
var data = tableToJson(table)
var sumCoef = 0
data.forEach(e => sumCoef += e.coef)
function calculMoyenne(dataS, coefS) {
var total = 0;
moyMat = [];
dataS.forEach(x => {
if (isNaN(x.note_tp)) {
if (isNaN(x.note_cc)) {
x.moyenne = x.note_exam
total += x.note_exam * x.coef
}
else {
x.moyenne = (x.note_exam * 0.6 + x.note_cc * 0.4)
moyMat.push((x.note_exam * 0.6) + (x.note_cc * 0.4));
total += (x.note_exam * 0.6 + x.note_cc * 0.4) * x.coef
}
}
else if (isNaN(x.note_cc)) {
x.moyenne = x.note_exam * 0.8 + x.note_tp * 0.2
moyMat.push((x.note_exam * 0.8 ) + (x.note_tp * 0.2));
total += (x.note_exam * 0.8 + x.note_tp * 0.2) * x.coef
}
else {
x.moyenne = (x.note_exam * 0.5 + x.note_cc * 0.3 + x.note_tp * 0.2)
moyMat.push(x.note_exam * 0.5 + x.note_cc * 0.3 + x.note_tp * 0.2)
total += (x.note_exam * 0.5 + x.note_cc * 0.3 + x.note_tp * 0.2) * x.coef
}
})
dataS.push({
designation : 'Moyenne',
coef : coefS,
nom_ens : '',
note_cc: '',
note_tp: '',
note_exam: '',
moyenne: total / coefS ,
})
return dataS
}
var newData = calculMoyenne(data, sumCoef)
function populateTable(data) {
// Empty content string
var tableContent = ' DESIGNATIONCOEFNOM_ENSNOTE_CCNOTE_TPNOTE_EXAMMoyenne';
data.forEach(x => {
tableContent += '';
tableContent += '' + x.designation + '';
tableContent += '' + x.coef + '';
tableContent += '' + x.nom_ens + '';
tableContent += isNaN(x.note_cc) ? '' : '' + x.note_cc + '' ;
tableContent += isNaN(x.note_tp) ? '' : '' + x.note_tp + '';
tableContent += isNaN(x.note_exam) ? '' : '' + x.note_exam + '';
tableContent += x.moyenne > 8 ? '' + x.moyenne.toFixed(2) + '' : '' + x.moyenne.toFixed(2) + '';
tableContent += '';
})
$(' tbody').html(tableContent);
};
populateTable(newData)