-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
62 lines (49 loc) · 2.04 KB
/
main.js
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
const form = document.getElementById('form-atividade');
const imgAprovado = '<img src="./images/aprovado.png" alt ="Emoji celebrando" />';
const imgReprovado = '<img src="./images/reprovado.png" alt ="Emoji decepcionado" />';
const atividades = [];
const notas = [];
const spanAprovado = '<span class="resultado aprovado">Aprovado</span>';
const spanReprovado = '<span class="resultado reprovado">Reprovado</span>';
const notaMinima = parseFloat(prompt("Digite a nota mínima: "));
let linhas = '';
form.addEventListener('submit', function(e) {
e.preventDefault();
adicionaLinha();
atualizaTabela();
atualizaMediaFinal();
});
function adicionaLinha() {
const inputNomeAtividade = document.getElementById('nome-atividade');
const inputNotaAtividade = document.getElementById('nota-atividade');
if (atividades.includes(inputNomeAtividade.value)) {
alert(`A atividade: ${inputNomeAtividade.value} já foi inserida`);
} else {
atividades.push(inputNomeAtividade.value);
notas.push(parseFloat(inputNotaAtividade.value));
let linha = '<tr>';
linha += `<td>${inputNomeAtividade.value}</td>`;
linha += `<td>${inputNotaAtividade.value}</td>`;
linha += `<td>${inputNotaAtividade.value >= notaMinima ? imgAprovado : imgReprovado}</td>`;
linha += '</tr>';
linhas += linha;
}
inputNomeAtividade.value = '';
inputNotaAtividade.value = '';
}
function atualizaTabela() {
const corpoTabela = document.querySelector('tbody');
corpoTabela.innerHTML = linhas;
}
function atualizaMediaFinal() {
const mediaFinal = calculaMediaFinal();
document.getElementById('media-final-valor').innerHTML = mediaFinal.toFixed(2); // Limita o número de casas decimais
document.getElementById('media-final-resultado').innerHTML = mediaFinal >= notaMinima ? spanAprovado : spanReprovado;
}
function calculaMediaFinal() {
let somaDasNotas = 0;
for (let i = 0; i < notas.length; i++) {
somaDasNotas += notas[i];
}
return somaDasNotas / notas.length;
}