1
resposta

[Projeto] Desafio hora da prática - Um passo a mais

Saudações Devs, estava resolvendo os desafios propostos pelo curso quando vi que tinha um desafio a respeito de construir uma função para fazer a soma entre dois números, ai fui dar uma pesquisada a respeito sobre como fazer as outras operações básicas no JS e acabei construindo uma função para cada uma delas, confesso que a parte de construir mais botões no HTML foi pura e simplesmente Copiar e Colar =].

Então ao final de tudo a página ficou assim:Foto do Projeto web

e minha solução foi essa para cada uma das operações

//Altere o conteúdo da tag h1 com document.querySelector e atribua o seguinte texto: Hora do Desafio.
document.querySelector('h1').innerHTML = 'Hora do Desafio';

//Crie uma função que exiba no console a mensagem O botão foi clicado sempre que o botão Console for pressionado.
function exibirMensagemNoConsole(){
    console.log('O botão Foi clicado');
}

//Crie uma função que exiba um alerta com a mensagem: Eu amo JS, sempre que o botão Alerta for pressionado
function exibirAlerta(){
    alert('Eu amo JS');
}

//Crie uma função que é executada quando o botão prompt é clicado, perguntando o nome de uma cidade do Brasil. Em seguida, 
//exiba um alerta com a mensagem concatenando a resposta com o texto: Estive em {cidade} e lembrei de você.

function exibirAlertaCidade(){
    let cidade = prompt('Digite o nome de uma cidade.');
    alert(`Estive em ${cidade} e lembrei de você`)
}

//Ao clicar no botão soma, peça 2 números e exiba o resultado da soma em um alerta.

function exibirAlertaSoma(){
    let numero1 = prompt("Digite o primeiro número para ser somado");
    let numero2 = prompt("Digite o segundo número para ser somado");
    //quando executei a soma ele estava concatenando, então o prompt mesmo que digitemos um numero nele. retorna uma string
    //ao utilizar o metodo Number foi possivel converter a string em numero e realmente fazer a soma.
    //também é possivel fazer a conversão através do metodo parseInt. lembrete pesquisar a diferença entre os dois
    //ohhh talvez a diferença é que number vai aceitar int e floats, tipo literalmente qualquer tipo de numero. pq o number fica verde?
    //Number é uma interface?
    let resultado = Number(numero1) + Number(numero2);

    alert(`${numero1} + ${numero2} = ${resultado}`);
}

function exibirAlertaSub(){
    let numero1 = prompt("Digite o primeiro número para ser subtraído");
    let numero2 = prompt("Digite o segundo número para ser subtraído");

    let resultado = Number(numero1) - Number(numero2);

    alert(`${numero1} - ${numero2} = ${resultado}`);
}

function exibirAlertaMult(){
    let numero1 = prompt("Digite o primeiro número para ser multiplicado");
    let numero2 = prompt("Digite o segundo número para ser multiplicado");

    let resultado = Number(numero1) * Number(numero2);

    alert(`${numero1} x ${numero2} = ${resultado}`);
}

function exibirAlertaDiv(){
    let numero1 = prompt("Digite o primeiro número para ser dividido");
    let numero2 = prompt("Digite o segundo número para ser dividido");

    //devido a divisões terem muito mais chances de dar um numero quebrado, decidi converter tudo pra float
    //ai depois decidi mudar tudo pra Number
    let resultado = Number(numero1) / Number(numero2);
    let resto = Number(numero1) % Number(numero2);

    alert(`${numero1} / ${numero2} = ${resultado} essa divisão tem o resto: ${resto}`);
}

function exibirAlertaPorcentagem(){
    let numero1 = prompt("Digite a porcentagem desejada");
    let numero2 = prompt("Digite o total");
    let porcentagem = numero1 / 100;

    let resultado = Number(numero2) * Number(porcentagem);


    alert(`${numero1}% de ${numero2} = ${resultado}`);
}

Acabei usando Number pra fazer a conversão dos números mesmo sem entender muito bem o que é uma Interface, foi uma sugestão do stack overflow. Bom aceito Feedbacks é claro e sugestões para melhorar meus códigos. Bons estudos a todos =]

1 resposta

Olá, Guilherme! Tudo joia?

Você fez um excelente trabalho nesse desafio do curso! Seus códigos estão corretos e seguem muito bem as estruturas passadas durante o curso.

Além disso, agradeço por compartilhar a sua solução, um pouco diferente, aqui no fórum, sei que ajudará e incentivará outros alunos que estão um pouco perdidos nesses desafios.

No mais, caso precise de ajuda ou queira tirar alguma dúvida, o fórum é o melhor lugar para isso.

Bons estudos!