Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Projeto Completo - Ingresso

const qntdMaxIngresso = 10;

function comprar() {
    let ingresso = document.getElementById('tipo-ingresso').value;
    let qntd = parseInt(document.getElementById('qtd').value);


    // Validação geral de quantidade
    if (isNaN(qntd) || qntd <= 0) {
        alert('Por favor, insira uma quantidade válida!');
        return;
    }
    // Validação de quantidade máxima
    if (qntd > qntdMaxIngresso) {
        alert(`Você pode comprar no máximo ${qntdMaxIngresso} ingressos por vez!`);
        return;
    }

    if (ingresso == 'pista') {
        comprarPista(qntd);
    } else if (ingresso == 'inferior') {
        comprarInferior(qntd);
    } else if (ingresso == 'superior') {
        comprarSuperior(qntd);
    }
}

function comprarPista(qntd) {
    let qntdPista = document.getElementById('qtd-pista');
    let quantidadeDisponivel = parseInt(qntdPista.textContent);

    if (qntd > quantidadeDisponivel) {
        alert('Quantidade insuficiente de ingressos Pista!');
        return;
    }
    quantidadeDisponivel -= qntd;
    qntdPista.textContent = quantidadeDisponivel;
    alert('Ingresso Pista comprado com sucesso!');
}

function comprarInferior(qntd) {
    let qntdInferior = document.getElementById('qtd-inferior');
    let quantidadeDisponivel = parseInt(qntdInferior.textContent);

    if (qntd > quantidadeDisponivel) {
        alert('Quantidade insuficiente de ingressos Inferior!');
        return;
    }
    quantidadeDisponivel -= qntd;
    qntdInferior.textContent = quantidadeDisponivel;
    alert('Ingresso Inferior comprado com sucesso!');
}

function comprarSuperior(qntd) {
    let qntdSuperior = document.getElementById('qtd-superior');
    let quantidadeDisponivel = parseInt(qntdSuperior.textContent);

    if (qntd > quantidadeDisponivel) {
        alert('Quantidade insuficiente de ingressos Superior!');
        return;
    }
    quantidadeDisponivel -= qntd;
    qntdSuperior.textContent = quantidadeDisponivel;
    alert('Ingresso Superior comprado com sucesso!');
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Olá, Kevin! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções específicas para cada tipo de ingresso, utilizou muito bem validações de entrada para garantir uma compra segura e ainda compreendeu a importância de atualizar dinamicamente o estoque disponível na interface.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!