Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] 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.

let totalGeral = 0;
document.getElementById('lista-produtos').innerHTML = '';
document.getElementById('valor-total').textContent = 'R$ 0';

function adicionar() {
    //recuperar valores: nome do produto, quantidade e valor
    let produto = document.getElementById('produto').value;
    let quantidade = document.getElementById('quantidade').value;

    //verificar se o produto selecionado é válido
    if (!produto || produto.trim() === "") {
        alert("Selecione um produto válido.");
        return;
    }

    //verificar se a quantidade inserida é válida
    if (isNaN(quantidade) || quantidade <= 0) {
        alertert("Selecione uma quantidade válida.");
        return;
    }

    let nomeProduto = produto.split('-')[0].trim();
    let valorUnitario = parseFloat(produto.split('R$')[1].trim());
    

    //calcular o preço, o nosso subtotal
    let preco = quantidade * valorUnitario;

    //adicionar no carrinho
    let carrinho = document.getElementById('lista-produtos');
    carrinho.innerHTML = carrinho.innerHTML + `<section class="carrinho__produtos__produto">
        <span class="texto-azul">${quantidade}x</span> ${nomeProduto} <span class="texto-azul">R$${preco}</span>
        </section>`;

    //atualizar o valor total
    totalGeral = totalGeral + preco;
    let campoTotal = document.getElementById('valor-total');
    campoTotal.textContent = `R$ ${totalGeral}`;
    document.getElementById('quantidade').value = '';
}

function limpar() {
    totalGeral = 0;
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$ 0';
    document.getElementById('produto').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.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Desafio 2</title>
</head>

<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="app.js"></script>

</body>

</html>
function capturarValores() {
    const nome = document.getElementById('campoNome').value;
    const idade = document.getElementById('campoIdade').value;

    document.getElementById('mostraNome').textContent = `Nome: ${nome}, 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 textConten

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Desafio 3</title>
</head>

<body>
    <p id="meuParagrafo">Bom dia!</p>
    <button onclick="modificarConteudo()">Modificar Conteúdo</button>

    <script src="app.js"></script>

</body>

</html>
function modificarConteudo() {
    const paragrafo = document.getElementById('meuParagrafo');
    paragrafo.textContent = 'Boa noite!';
}

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

Como pede o exercício:

const num1 = 2;
const num2 = 8;

const soma = num1 + num2;
const mensagem = `A soma de ${num1} + ${num2} é ${soma}`;

console.log(mensagem);

Fiz de outra forma...

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Desafio 4</title>
</head>

<body>
    <p id="meuParagrafo">A soma de dois números aparecerá aqui!</p>
    <button type="button" onclick="calculo()">Somar</button>
    <script src="app.js"></script>
</body>

</html>
function calculo() {
    const num1 = 2;
    const num2 = 8;

    const soma = num1 + num2;
    const mensagem = `A soma de ${num1} + ${num2} é ${soma}`;
    const paragrafo = document.getElementById('meuParagrafo');
    paragrafo.textContent = mensagem;
}
2 respostas
solução!

Oi, Harlen! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

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.

const sentencas = "Bom dia; Boa tarde; Boa noite";
const frasesSeparadas = sentencas.split(';');

console.log(frasesSeparadas);

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

const numeros = "1, 2, 3, 4, 5";
const arrayNumeros = numeros.split(',');

console.log(arrayNumeros);