1
resposta

Resolução de Atividades - "11 Desafio: hora da prática"

// 1) Adicione validações no código para garantir que o usuário só consiga adicionar produtos ao carrinho se tiver selecionado um produto válido e inserido uma quantidade válida. Se a entrada não for válida, exiba uma mensagem de erro apropriada.

function adicionar() {

    let produto = document.getElementById ("produto").value;
    let nomeDoProduto = produto.split ("-") [0];
    let valorUnitario = produto.split ("R$") [1];
    let quantidade = document.getElementById ("quantidade").value;
    let preco = valorUnitario * quantidade;
    let listaDeProdutos = document.getElementById ("lista-produtos");

    if (quantidade <= 0) {

        alert ("Por favor, insira uma quantidade válida!");
        document.getElementById ("quantidade").value = "";
        return;
    }

    listaDeProdutos.innerHTML = listaDeProdutos.innerHTML + `<section class="carrinho__produtos__produto">
    <span class="texto-azul">${quantidade}x</span> ${nomeDoProduto} <span class="texto-azul">R$${valorUnitario}</span>
    </section>`;

    valorTotal = valorTotal + preco;

    document.getElementById ("valor-total").textContent = `R$ ${valorTotal}`;
    document.getElementById ("quantidade").value = "";
}

// 2) Crie um formulário simples com campos de entrada e utilize JavaScript para recuperar os valores digitados nos campos usando a propriedade value. Exiba os valores no console e na tela.

Obs: Como eu não entendo nada de HTML -- essa é a minha primeira formação --, peguei o HTML disponibilizado pelo professor, portanto só fiz o  JS.

// HTML:

<html>
<body>
<form id="meuForm">
    <label for="campoNome">Nome:</label>
    <input type="text" id="campoNome" name="nome">
    
    <label for="campoIdade">Idade:</label>
    <input type="text" id="campoIdade" name="idade">

    <button type="button" onclick="capturarValores()">Capturar Valores</button>
  
  <div id='mostraNome'><span>Seu nome e idade irão aparecer aqui.</span></div>
</form>

<script src="script.js"></script>
</body>
</html>

// JavaScript

function capturarValores() {

    let nome = document.getElementById ("campoNome").value;
    let idade = document.getElementById ("campoIdade").value;

    alert (`Nome:${nome}`);
    alert (`Idade: ${idade}`);

    console.log (`Nome:${nome}`);
    console.log (`Idade:${idade}`);
}

// 3) Tenha um elemento HTML na página (por exemplo, um parágrafo) e utilize JavaScript para modificar seu conteúdo usando a propriedade textContent.

Obs: Como eu não entendo nada de HTML -- essa é a minha primeira formação --, peguei o HTML disponibilizado pelo professor, portanto só fiz o  JS.

//HTML

<html>
    <body>
<p id="meuParagrafo">Texto original</p>
<button onclick="modificarConteudo()">Modificar Conteúdo</button>

<script src="script.js"></script>
  </body>
</html>

//JS

function modificarConteudo() {

    let conteudo = document.getElementById ("meuParagrafo").value;
    conteudo.textContent = "Texto modificado com sucesso";
}

// 4) Faça a soma de duas variáveis numéricas e apresente no console com uma mensagem amigável em Template String.

let N1 = 2;
let N2 = 5;

let soma = N1 + N2;
alert (`O resultado é:\n${N1} + ${N2} = ${soma}!`);

// 5) Receba, no mínimo, duas sentenças como uma string e utilize split() para quebrá-la em frases menores com base em um ponto e vírgula como delimitador.

let texto1 = "Irene preta, Irene boa, Irene sempre de bom humor. Imagino Irene entrando no céu: - Licença, meu branco! E São Pedro bonachão: - Entra, Irene. Você não precisa pedir licença (Manuel Bandeira)"
let texto2 = "Minha terra tem palmeiras, Onde canta o Sabiá, As aves, que aqui gorjeiam, Não gorjeiam como lá. (Gonçalves Dias)"

let textoFinal1 = texto1.split (".");
let textoFinal2 = texto2.split (",");
console.log (textoFinal1);
console.log (textoFinal2);

// 6) Receba uma string contendo números separados por vírgulas. Utilize split() para separar os números e exibi-los no console.

let numeros = "7, 14, 21, 28, 35, 42, 49, 56, 63, 70";
let numerosSeparados = numeros.split (",");

console.log (numerosSeparados);
1 resposta

Olá, Victor. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você organizou as funcionalidades, como a verificação da quantidade antes de adicionar o produto ao carrinho. Essa validação ajuda a garantir que o usuário não adicione valores errados, o que é essencial para uma boa experiência.

Uma dica interessante seria utilizar o método parseInt() ou parseFloat() para garantir que os valores numéricos, como a quantidade e o valor unitário, sejam tratados como números, caso o usuário insira um valor em formato de string. Por exemplo:


let quantidade = parseInt(document.getElementById("quantidade").value);
let preco = parseFloat(valorUnitario) * quantidade;

Esse código vai garantir que a quantidade e o valor sejam corretamente convertidos para números, evitando erros de cálculos.

Conte com o apoio do Fórum. Abraços e bons estudos.