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

[Dúvida] Minha solução

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

    let quantidadePista = parseInt(document.getElementById('qtd-pista').textContent);
    let quantidadeSuperior = parseInt(document.getElementById('qtd-superior').textContent);
    let quantidadeInferior = parseInt(document.getElementById('qtd-inferior').textContent);

    if (quantidadeIngresso >= 1 && quantidadeIngresso <= 10 ) {
        if (tipoIngresso === 'pista' && quantidadeIngresso <= quantidadePista &&
            tipoIngresso === 'superior' && quantidadeIngresso <= quantidadeSuperior &&
            tipoIngresso === 'inferior' && quantidadeIngresso <= quantidadeInferior) {
            quantidadeInferior -= quantidadeIngresso;
            quantidadePista -= quantidadeIngresso;
            quantidadeSuperior -= quantidadeIngresso;

            document.getElementById('qtd-pista').textContent = quantidadePista;
            document.getElementById('qtd-superior').textContent = quantidadeSuperior;
            document.getElementById('qtd-inferior').textContent = quantidadeInferior;

            alert('Compra realizada com sucesso!');
        } else {
            alert('Quantidade indisponível para o tipo de ingresso selecionado.');
        }
    } else {
        alert('Quantidade inválida. A quantidade deve estar entre 1 e 10.');
    }
}
1 resposta
solução!

Oi, Alexandre! Tudo bem?

Parabéns pela elaboração do código, ficou super bacana! Em relação à função comprar(), devemos nos atentar ao seguinte trecho de código:

if (tipoIngresso === 'pista' && quantidadeIngresso <= quantidadePista &&
    tipoIngresso === 'superior' && quantidadeIngresso <= quantidadeSuperior &&
    tipoIngresso === 'inferior' && quantidadeIngresso <= quantidadeInferior) {
    //...
}

Nesse trecho, estamos verificando se o tipoIngresso é 'pista', 'superior' e 'inferior' ao mesmo tempo, o que não é possível, pois o tipoIngresso só pode ser um desses por vez. Além disso, estamos verificando se a quantidadeIngresso é menor ou igual à quantidade de todos os tipos de ingressos ao mesmo tempo. Dessa forma, deixo como sugestão o seguinte código de exemplo de aplicação nesse caso:

if ((tipoIngresso === 'pista' && quantidadeIngresso <= quantidadePista) ||
    (tipoIngresso === 'superior' && quantidadeIngresso <= quantidadeSuperior) ||
    (tipoIngresso === 'inferior' && quantidadeIngresso <= quantidadeInferior)) {
    //...
}

Assim, verificaremos se o tipoIngresso é 'pista' e se a quantidadeIngresso é menor ou igual à quantidadePista, ou se o tipoIngresso é 'superior' e a quantidadeIngresso é menor ou igual à quantidadeSuperior, ou se o tipoIngresso é 'inferior' e a quantidadeIngresso é menor ou igual à quantidadeInferior.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓