Compartilhando minha resolução para esse desafio do Ingresso Online:
function comprar() {
// Obtém o valor do tipo de ingresso selecionado pelo usuário
let tipo = document.getElementById('tipo-ingresso').value;
// Obtém a quantidade de ingressos a ser comprada e converte para número inteiro
let qtd = parseInt(document.getElementById('qtd').value);
// Verifica se a quantidade é um número válido e maior que zero
if (isNaN(qtd) || qtd <= 0) {
alert('Informe a quantidade para compra.');
return;
};
// Verifica o tipo de ingresso selecionado e chama a função comprarIngresso com a quantidade
switch (tipo) {
case 'inferior':
comprarIngresso(qtd);
break;
case 'superior':
comprarIngresso(qtd);
break;
case 'pista':
comprarIngresso(qtd);
break;
default:
alert('Tipo do ingresso inválido.')
return;
};
};
function comprarIngresso(qtd) {
// Obtém o tipo de ingresso selecionado novamente
let tipo = document.getElementById('tipo-ingresso').value;
// Obtém a quantidade disponível do tipo de ingresso selecionado
let qtdDisponivel = parseInt(document.getElementById(`qtd-${tipo}`).textContent);
// Verifica se a quantidade desejada é maior que a disponível
if (qtd > qtdDisponivel) {
alert(`Quantidade indisponível para tipo ${tipo}`);
} else {
// Atualiza a quantidade disponível subtraindo a quantidade comprada
qtdDisponivel = qtdDisponivel - qtd;
document.getElementById(`qtd-${tipo}`).textContent = qtdDisponivel;
alert('Compra realizada com sucesso!');
};
};
Comentários e sugestões construtivas são bem vindas!