// Variável global para o total do carrinho
let totalGeral;
limpar();
// Função para adicionar produtos no carrinho com validações
function adicionar() {
// Recupera os valores dos inputs
let produtoInput = document.getElementById('produto').value;
let quantidadeInput = document.getElementById('quantidade').value;
let mensagemErro = document.getElementById('mensagemErro');
// Limpa mensagem de erro anterior
mensagemErro.textContent = "";
// Validações: produto deve estar no formato "nome - R$valor" e quantidade maior que zero
if (!produtoInput || !produtoInput.includes('-') || !produtoInput.includes('R$')) {
mensagemErro.textContent = "Produto inválido. Use o formato: nome - R$valor";
return;
}
if (!quantidadeInput || isNaN(quantidadeInput) || parseInt(quantidadeInput) <= 0) {
mensagemErro.textContent = "Quantidade inválida. Insira um número maior que zero.";
return;
}
// Extrai nome e valor unitário do produto
let nomeProduto = produtoInput.split('-')[0].trim();
let valorUnitarioStr = produtoInput.split('R$')[1].trim();
let valorUnitario = parseFloat(valorUnitarioStr.replace(',', '.'));
let quantidade = parseInt(quantidadeInput);
if (isNaN(valorUnitario)) {
mensagemErro.textContent = "Valor unitário inválido.";
return;
}
// Calcula o preço (subtotal)
let preco = quantidade * valorUnitario;
let carrinho = document.getElementById('lista-produtos');
// Adiciona o produto ao carrinho
carrinho.innerHTML += `<section class="carrinho__produtos__produto">
<span class="texto-azul">${quantidade}x</span> ${nomeProduto}
<span class="texto-azul">R$${preco.toFixed(2)}</span>
</section>`;
// Atualiza o valor total
totalGeral += preco;
let campoTotal = document.getElementById('valor-total');
campoTotal.textContent = `R$ ${totalGeral.toFixed(2)}`;
document.getElementById('quantidade').value = 0;
}
// Função para limpar o carrinho e reiniciar o total
function limpar() {
totalGeral = 0;
document.getElementById('lista-produtos').innerHTML = '';
document.getElementById('valor-total').textContent = 'R$ 0';
}
// Formulário simples: Recupera os valores dos campos e exibe no console e na tela
function recuperarValores() {
let nome = document.getElementById('nome').value;
let email = document.getElementById('email').value;
console.log("Nome:", nome);
console.log("Email:", email);
document.getElementById('resultadoFormulario').textContent = `Nome: ${nome}, Email: ${email}`;
}
// Exemplo de modificação de um elemento HTML utilizando textContent
function modificarParagrafo() {
let paragrafo = document.getElementById('paragrafoExemplo');
paragrafo.textContent = "O conteúdo deste parágrafo foi modificado pelo JavaScript!";
}
// Soma de duas variáveis numéricas e exibe o resultado no console com Template String
function somarVariaveis() {
let num1 = 10;
let num2 = 20;
let soma = num1 + num2;
console.log(`A soma de ${num1} e ${num2} é ${soma}.`);
}
// Recebe uma string com, no mínimo, duas sentenças separadas por ponto e vírgula e as divide
function splitSentencas() {
let sentencas = "Esta é a primeira sentença;Esta é a segunda sentença;Esta é a terceira sentença";
let arraySentencas = sentencas.split(";");
console.log("Sentenças separadas:", arraySentencas);
}
// Recebe uma string com números separados por vírgulas e os separa utilizando split()
function splitNumeros() {
let numerosString = "10,20,30,40,50";
let arrayNumeros = numerosString.split(",");
console.log("Números separados:", arrayNumeros);
}