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

Sugestão Desafio 1- Validação de Entrada

Crie códigos para validar as entradas e seus respectivos Alert's para quando a quantidade digitada for indisponível, compra realizada com Sucesso e quando a quantidade não for válida. Ao invés de criar 3 funções parseInt para converter a string em um número inteiro e retornar o resultado, eu optei em criar uma função genérica para enxugar o código, percebi também que ao clicar ok nos alert's a quantidade não era zerada, então eu inseri o código**document.getElementById('qtd').value = ''; depois de cada alert para resolver isto, conforme segue abaixo:

// Criando uma função genérica para comprar todos os tipos de ingresso
function comprarIngresso(tipo, qtd) {
    let qtdDisponivel = parseInt(document.getElementById(`qtd-${tipo}`).textContent);
    
    if (qtd > qtdDisponivel) {
        alert(`Quantidade indisponível para tipo ${tipo}!`);
//// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades, quando a quandidade não estar disponível

        document.getElementById('qtd').value = '';
    } else { 
        qtdDisponivel -= qtd;
        document.getElementById(`qtd-${tipo}`).textContent = qtdDisponivel;
        alert('Compra realizada com Sucesso!');
// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades da compra realizada com sucesso
        document.getElementById('qtd').value = ''; 
    }

}

// Modificando a função comprar
function comprar() {
    let tipo = document.getElementById('tipo-ingresso').value;
    let qtdInput = document.getElementById('qtd');
    let qtd = parseInt(qtdInput.value);

    if (isNaN(qtd) || qtd <= 0) {
        alert('Por favor, insira uma quantidade válida!');
// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades, quando a quantidade não for válida
        document.getElementById('qtd').value = '';
        return; // Para sair da função se a quantidade não for válida    
    }

    comprarIngresso(tipo, qtd); 
}
2 respostas
solução!

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!

Obrigado pela sua atenção.