Ir ao conteúdo
  • Cadastre-se

DavidTadeufreitas

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tudo que DavidTadeufreitas postou

  1. Oi amigo, tudo bom? Eu vi seu código e acredito que dá pra fazer algumas melhorias nele. Eu teria abordado algumas coisas de maneira diferente. Para poupar código, mas busquei respeitar ai a sua lógica, sem mexer muito na forma que você deu para resolver este caso. Ainda faltam tratar algumas coisas, não tratei tudo para você, pois imagino que su objetivo esteja sendo praticar dada a simplicidade do projeto. Vamos ao que eu fiz com o JS: Reduzi a quantidade de parâmetros usando um método nativo do JS chamado isNaN Reduzi o objeto "#resultado" a uma variável. Melhora a leitura Declarei algumas variáveis para trabalhar e tratar algumas situações resultadoVal = retorna o valor do input lastValue = retorna o último valor do input Para tratar a concatenação de números com números Separar números de operadores Identificar quando for um ponto ao lado de um operador ou número lastIsOperator= retorna se o último char é operador ou não. function calcResultadoVal(valor) { resultado.value = valor; } function calcular(valor) { let resultado = document.querySelector("#resultado"); let resultadoVal = resultado.value; let lastValue = resultadoVal[(resultadoVal.length - 1)]; let lastIsOperator = isNaN(lastValue); if (isNaN(valor)) { switch (valor) { case 'c': calcResultadoVal("0"); break; case '.': if (lastIsOperator) { calcResultadoVal(`${resultadoVal} 0${valor}`); } else { calcResultadoVal(`${resultadoVal} ${valor}`); } break; default: if (lastIsOperator) { calcResultadoVal(`${resultadoVal.substr(0,resultadoVal.length - 1)}${valor}`); } else calcResultadoVal(`${resultadoVal} ${valor}`); } } else { if (lastIsOperator) { if (lastValue == ".") { calcResultadoVal(`${resultadoVal}${valor}`); } else { calcResultadoVal(`${resultadoVal} ${valor}`); } } else { calcResultadoVal(`${resultadoVal}${valor}`); } } } Html Tirei a passagem do parâmetro tipo. Eu não teria feito dessa forma individualizada. Lhe aconselho a estudar um pouco sobre eventos em javascript. Seu código pode ser bem aprimorado ainda, para isso basta que você olhe pra ele como um sistema e não como uma calculadora simples. Trate tudo como grande, que possa um dia passar por uma refatoração. Mesmo que seja simples. É só dica <!DOCTYPE html> <html> <head> <title></title> </head> <body style="background: #D9D9D9"> <div class="container"> <div class="row"> <div class="col d-flex justify-content-center"> <br /> <div class="calculadora"> <input id = "resultado" type="text" value="0" class="form-control resultado" placeholder="0" disabled="disabled" /> <div class="row"> <button onclick = "calcular('c')" type="button" class="btn btn-dark btn-lg clear font-weight-light">C</button> <button onclick = "calcular('/')" onfocus="verificar()" type="button" class="btn btn-dark btn-lg font-weight-light">/</button> <button onclick = "calcular('*')"type="button" class="btn btn-dark btn-lg font-weight-light">x</button> </div> <div class="row"> <button onclick = "calcular(, 7)" type="button" class="btn btn-dark btn-lg font-weight-light">7</button> <button onclick = "calcular(8)" type="button" class="btn btn-dark btn-lg font-weight-light">8</button> <button onclick = "calcular(9)" type="button" class="btn btn-dark btn-lg font-weight-light">9</button> <button onclick = "calcular('-')" type="button" class="btn btn-dark btn-lg font-weight-light">-</button> </div> <div class="row"> <button onclick = "calcular(4)" type="button" class="btn btn-dark btn-lg font-weight-light">4</button> <button onclick = "calcular(5)" type="button" class="btn btn-dark btn-lg font-weight-light">5</button> <button onclick = "calcular(6)" type="button" class="btn btn-dark btn-lg font-weight-light">6</button> <button onclick = "calcular('+')" type="button" class="btn btn-dark btn-lg font-weight-light">+</button> </div> <div class="row"> <button onclick = "calcular(1)" type="button" class="btn btn-dark btn-lg font-weight-light">1</button> <button onclick = "calcular(2)" type="button" class="btn btn-dark btn-lg font-weight-light">2</button> <button onclick = "calcular(3)" type="button" class="btn btn-dark btn-lg font-weight-light">3</button> <button onclick = "calcular('=')" type="button" class="btn btn-dark btn-lg enter">=</button> </div> <div class="row" style="margin-top: -60px"> <button onclick = "calcular(0)" type="button" class="btn btn-dark zero btn-lg font-weight-light">0</button> <button onclick = "calcular('.')" type="button" class="btn btn-dark btn-lg font-weight-light">.</button> </div> </div> </div> </div> </div> </body> <script type="text/javascript" src="calculadora.js"></script> </html> Abraços e boa sorte!
  2. Comprei uma máquina onde o vendedor disse que rodaria todos os jogos modernos, ainda que não fosse no high... A47300 R7 360 2GB 8GB Ela oscila com picos de 100% (que duram meio segundo) de uso da GPU pra 0%, mas é de uma hora para outra, predominando os 0%. Entendi que os games tem momentos que não precisam usar... Mas o game as vezes está com 18fps,, 14fps e nada da maldita reagir.. ¬¬ Eis que fui dar uma fuçada e notei: Que a tensão estava desligada... ZERADA... Que a minha placa parecia ter 512mb porque o pico dela era 562MB de uso... Consegui ligar a tensão e com isso cheguei aos míseros 800mb mesmo assim por 1 seg no máximo... A CPU fica sempre em 100% nos dois núcleos... O que eu faço estou desesperado já... To tentando rodar Dead Rising 3, Hitman Absolution e enfim... ta complicado...

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!