From b3770179a7e998eab0d5fc0d49fc9c1a07eba37b Mon Sep 17 00:00:00 2001 From: lauracintra Date: Tue, 10 Mar 2020 03:50:15 -0300 Subject: [PATCH 1/2] =?UTF-8?q?=C3=BAltimas=20atualiza=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 109 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index c687602..6cd89ca 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,112 @@ // Base a ser utilizada -const alunosDaEscola=[{nome:"Henrique",notas:[],cursos:[],faltas:5},{nome:"Edson",notas:[],cursos:[],faltas:2},{nome:"Bruno",notas:[10,9.8,9.6],cursos:[],faltas:0},{nome:"Guilherme",notas:[10,9.8,9.6],cursos:[{nomeDoCurso:"Full Stack",dataMatricula:new Date}],faltas:0},{nome:"Carlos",notas:[],cursos:[],faltas:0},{nome:"Lucca",notas:[10,9.8,9.6],cursos:[{nomeDoCurso:"UX",dataMatricula:new Date}],faltas:0}]; +const alunosDaEscola=[{nome:"Henrique",notas:[],cursos:[],faltas:5}, +{nome:"Edson",notas:[],cursos:[],faltas:2}, +{nome:"Bruno",notas:[10,9.8,9.6],cursos:[],faltas:0}, +{nome:"Guilherme",notas:[10,9.8,9.6],cursos:[{nomeDoCurso:"Full Stack",dataMatricula:new Date}],faltas:0}, +{nome:"Carlos",notas:[],cursos:[],faltas:0}, +{nome:"Lucca",notas:[10,9.8,9.6],cursos:[{nomeDoCurso:"UX",dataMatricula:new Date}],faltas:0}]; +const adicionarAluno = (string) => { +alunosDaEscola.push({nome:string, notas:[], cursos:[], faltas:0}) +console.log("Aluno adicionado com sucesso à base de dados.") +return alunosDaEscola[alunosDaEscola.length - 1] +} -// implementação \ No newline at end of file +function listarAlunos(){ +for (var aluno of alunosDaEscola) { + console.log("Nome: " + aluno.nome) + } +} + +// Dá pra melhorar :D +const buscarAluno = (string) => { +for (var aluno in alunosDaEscola) { + if (alunosDaEscola[aluno].nome.indexOf(string) >= 0) { + console.log("Dados do aluno", alunosDaEscola[aluno].nome, ":") + return (alunosDaEscola[aluno]) + } + else { + console.log("Não há registros.") + break + } +} +} + + +// Dá pra melhorar :D +const matricularAluno = (stringAluno, stringCurso) => { + for (var aluno in alunosDaEscola) { + if(alunosDaEscola[aluno].nome === stringAluno) { + alunosDaEscola[aluno].cursos.push({nomeDoCurso: stringCurso, dataMatricula: new Date()}) + console.log("Aluno matriculado com sucesso.") + return alunosDaEscola[aluno] + } + else { + console.log("Não foi possível matricular o aluno. Dica: cadastrar aluno antes de matriculá-lo.") + } + } +} + +// Dá pra melhorar :D +const aplicarFalta = (stringAluno, faltaAluno) => { +for (var aluno in alunosDaEscola) { + if(alunosDaEscola[aluno].nome === stringAluno) { + alunosDaEscola[aluno].faltas = alunosDaEscola[aluno].faltas + faltaAluno + console.log("Falta aplicada ao aluno ", alunosDaEscola[aluno].nome, ".") + return alunosDaEscola[aluno] + } + else { + console.log("Não foi possível aplicar falta: aluno não matriculado.") + } +} +} + +// Dá pra melhorar :D +const aplicarNota = (stringAluno, notaAluno) => { + for (var aluno in alunosDaEscola) { + if (alunosDaEscola[aluno].nome === stringAluno){ + if(alunosDaEscola[aluno].cursos.length > 0) { + alunosDaEscola[aluno].notas.push(notaAluno) + console.log("Nota adicionada ao aluno", alunosDaEscola[aluno].nome, ":") + return alunosDaEscola[aluno] + } + else { + console.log("Aluno não matriculado.") + } + } + else { + console.log("Aluno não cadastrado.") + } + } + +} + +// Dá pra melhorar :D +const aprovarAluno = (stringAluno) => { +for (var aluno in alunosDaEscola) { + if(alunosDaEscola[aluno].nome === stringAluno) { + if (alunosDaEscola[aluno].cursos.length > 0) { + if (alunosDaEscola[aluno].faltas < 4) { + soma = alunosDaEscola[aluno].notas.reduce(function(acumulado, nota){ + return acumulado + nota}) + if (soma / alunosDaEscola[aluno].notas.length > 7){ + console.log("Aluno aprovado: ") + return alunosDaEscola[aluno]} + else { + console.log("Aluno reprovado por notas.") + } + } + else { + console.log("Aluno reprovado por faltas.") + } + } + else { + console.log("Aluno não matriculado.") + } + + } + else { + console.log("Não há registros com este nome.") + } +} +} From eb6bc227b04786a4e0bf999ae7ea3f3d9df4f326 Mon Sep 17 00:00:00 2001 From: lauracintra Date: Fri, 13 Mar 2020 18:49:45 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Corre=C3=A7=C3=A3o=20e=20atualiza=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20fun=C3=A7=C3=B5es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 166 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 101 insertions(+), 65 deletions(-) diff --git a/index.js b/index.js index 6cd89ca..386353e 100644 --- a/index.js +++ b/index.js @@ -7,106 +7,142 @@ const alunosDaEscola=[{nome:"Henrique",notas:[],cursos:[],faltas:5}, {nome:"Lucca",notas:[10,9.8,9.6],cursos:[{nomeDoCurso:"UX",dataMatricula:new Date}],faltas:0}]; const adicionarAluno = (string) => { -alunosDaEscola.push({nome:string, notas:[], cursos:[], faltas:0}) -console.log("Aluno adicionado com sucesso à base de dados.") -return alunosDaEscola[alunosDaEscola.length - 1] + alunosDaEscola.push({nome:string, notas:[], cursos:[], faltas:0}) + console.log("Aluno adicionado com sucesso à base de dados:") + return alunosDaEscola[alunosDaEscola.length - 1] } -function listarAlunos(){ -for (var aluno of alunosDaEscola) { - console.log("Nome: " + aluno.nome) - } -} +const listarAlunos = () => { + for (var aluno of alunosDaEscola) { + console.log("Nome: " + aluno.nome) + console.log("Número de faltas: " + aluno.faltas) + console.log("Notas do aluno: " + aluno.notas) + if (aluno.cursos.length <= 0){ + console.log("Cursos: Aluno não matriculado.")} + else { + for (var curso of aluno.cursos){ + aluno.cursos.forEach((item) => { + console.log("Cursos: ") + return (item.nomeDoCurso + " | Data de matrícula: " + item.dataMatricula.getDay() + + "/" + item.dataMatricula.getMonth() + + "/" + item.dataMatricula.getFullYear()) + }) + } + } + } +} -// Dá pra melhorar :D const buscarAluno = (string) => { -for (var aluno in alunosDaEscola) { - if (alunosDaEscola[aluno].nome.indexOf(string) >= 0) { - console.log("Dados do aluno", alunosDaEscola[aluno].nome, ":") - return (alunosDaEscola[aluno]) + busca = alunosDaEscola.filter(aluno => aluno.nome.indexOf(string) > -1) + if (busca.length > 0) { + for (var aluno of busca) { + console.log("Nome: " + aluno.nome) + console.log("Número de faltas: " + aluno.faltas) + console.log("Notas do aluno: " + aluno.notas) + if (aluno.cursos.length <= 0){ + console.log("Cursos: Aluno não matriculado.")} + else { + for (var curso of aluno.cursos){ + aluno.cursos.forEach((item) => { + console.log("Cursos: ") + console.log(item.nomeDoCurso + " | Data de matrícula: " + item.dataMatricula.getDay() + + "/" + item.dataMatricula.getMonth() + + "/" + item.dataMatricula.getFullYear()) + }) + } + } + + } } else { - console.log("Não há registros.") - break + console.log(`Não há alunos com o nome "${string}".`) } } -} - -// Dá pra melhorar :D const matricularAluno = (stringAluno, stringCurso) => { - for (var aluno in alunosDaEscola) { - if(alunosDaEscola[aluno].nome === stringAluno) { - alunosDaEscola[aluno].cursos.push({nomeDoCurso: stringCurso, dataMatricula: new Date()}) - console.log("Aluno matriculado com sucesso.") - return alunosDaEscola[aluno] - } - else { - console.log("Não foi possível matricular o aluno. Dica: cadastrar aluno antes de matriculá-lo.") + busca = alunosDaEscola.filter(aluno => aluno.nome.indexOf(stringAluno) > -1) + if (busca.length > 0) { + console.log("Aluno matriculado com sucesso.") + for (var aluno of busca) { + console.log("Nome: " + aluno.nome) + console.log("Cursos: ") + aluno.cursos.push({nomeDoCurso: stringCurso, dataMatricula: new Date}) + aluno.cursos.forEach((item) => { + console.log(item.nomeDoCurso + " | Data de matrícula: " + item.dataMatricula.getDay() + + "/" + item.dataMatricula.getMonth() + + "/" + item.dataMatricula.getFullYear()) + }) } } + else { + console.log(`Não há alunos com o nome "${stringAluno}".`) + } } -// Dá pra melhorar :D +console.log(matricularAluno("Guilherme",'dev')) +console.log(matricularAluno("Henrique",'dev')) +console.log(matricularAluno("Jarbas",'dev')) + const aplicarFalta = (stringAluno, faltaAluno) => { -for (var aluno in alunosDaEscola) { - if(alunosDaEscola[aluno].nome === stringAluno) { - alunosDaEscola[aluno].faltas = alunosDaEscola[aluno].faltas + faltaAluno - console.log("Falta aplicada ao aluno ", alunosDaEscola[aluno].nome, ".") - return alunosDaEscola[aluno] + busca = alunosDaEscola.filter(aluno => aluno.nome.indexOf(stringAluno) > -1) + if (busca.length > 0) { + console.log("Falta aplicada.") + for (var aluno of busca) { + aluno.faltas = aluno.faltas + faltaAluno + return `Nome: ${aluno.nome} \nFaltas: ${aluno.faltas}` + } } else { - console.log("Não foi possível aplicar falta: aluno não matriculado.") + return `Não há alunos com o nome "${stringAluno}".` } } -} -// Dá pra melhorar :D const aplicarNota = (stringAluno, notaAluno) => { - for (var aluno in alunosDaEscola) { - if (alunosDaEscola[aluno].nome === stringAluno){ - if(alunosDaEscola[aluno].cursos.length > 0) { - alunosDaEscola[aluno].notas.push(notaAluno) - console.log("Nota adicionada ao aluno", alunosDaEscola[aluno].nome, ":") - return alunosDaEscola[aluno] - } + busca = alunosDaEscola.filter(aluno => aluno.nome.indexOf(stringAluno) > -1) + if (busca.length > 0) { + for (var aluno of busca) { + if (aluno.cursos.length > 0){ + aluno.notas.push(notaAluno) + return `Nota aplicada. \nNome: ${aluno.nome} \nNotas: ${aluno.notas}` + } else { - console.log("Aluno não matriculado.") - } - } - else { - console.log("Aluno não cadastrado.") + return `O aluno ${stringAluno} não está matriculado.` + } + } } + else { + return `Não há alunos com o nome "${stringAluno}".` + } } -// Dá pra melhorar :D const aprovarAluno = (stringAluno) => { -for (var aluno in alunosDaEscola) { - if(alunosDaEscola[aluno].nome === stringAluno) { - if (alunosDaEscola[aluno].cursos.length > 0) { - if (alunosDaEscola[aluno].faltas < 4) { - soma = alunosDaEscola[aluno].notas.reduce(function(acumulado, nota){ + busca = alunosDaEscola.filter(aluno => aluno.nome.indexOf(stringAluno) > -1) + if (busca.length > 0) { + for (var aluno of busca) { + if (aluno.faltas <= 3){ + total = aluno.notas.reduce((acumulado, nota) => { return acumulado + nota}) - if (soma / alunosDaEscola[aluno].notas.length > 7){ - console.log("Aluno aprovado: ") - return alunosDaEscola[aluno]} + if (total / aluno.notas.length >= 7){ + return`O aluno ${stringAluno} foi aprovado.` + } else { - console.log("Aluno reprovado por notas.") + return `${stringAluno}: Reprovado. + O aluno não obteve a média de notas necessárias.` } - } + + } else { - console.log("Aluno reprovado por faltas.") + return `O aluno ${stringAluno} foi reprovado por faltas.` } + } - else { - console.log("Aluno não matriculado.") - } - } else { - console.log("Não há registros com este nome.") + return `Não há alunos com o nome "${stringAluno}".` } } -} + + +