Praticando logica com desafios
Tentei resolver o desafio antes de ver as aulas, então acabou que meus códigos seguiram uma linha diferente da resolução dos instrutores.
Se fizeram uma linha diferente da minha e dos instrutores e puderem mandar para melhorar a aprendizagem seria uma boa!
*Obs: Enviei meu código para o chatGPT e pedi pra ele fazer uma explicação. Coloquei a explicação logo abaixo do código! *
Abraços...
let listaIngresso = {
pista: 100,
superior: 200,
inferior: 400,
};
let qtd;
function comprar() {
qtd = document.getElementById('qtd').value;
calcula(document.getElementById('tipo-ingresso').value);
}
function calcula(tipoEscolhido) {
if (qtd > listaIngresso[tipoEscolhido]) {
alert(`Somente ${listaIngresso[tipoEscolhido]} igressos do tipo ${tipoEscolhido} disponiveis.`);
} else {
listaIngresso[tipoEscolhido] = listaIngresso[tipoEscolhido] - qtd;
if (listaIngresso[tipoEscolhido] <= 0) {
document.getElementById(`qtd-${tipoEscolhido}`).textContent = `ESGOTADO`;
} else {
document.getElementById(`qtd-${tipoEscolhido}`).textContent = `${listaIngresso[tipoEscolhido]}`;
}
}
}
- listaIngresso é um objeto que armazena a quantidade disponível de ingressos para cada tipo de ingresso (pista, superior, inferior).
- A função comprar() é chamada quando o usuário clica em um botão para comprar ingressos. Ele obtém a quantidade desejada de ingressos do elemento HTML com o id qtd e, em seguida, chama a função calcula() passando o tipo de ingresso selecionado pelo usuário como argumento.
- A função calcula(tipoEscolhido) verifica se a quantidade desejada de ingressos (qtd) é maior do que a quantidade disponível para o tipo de ingresso escolhido. Se for maior, exibe um alerta informando que apenas a quantidade disponível de ingressos está disponível.
- Se a quantidade desejada de ingressos for igual ou menor do que a quantidade disponível, a quantidade disponível é atualizada e exibida no elemento HTML correspondente. Se a quantidade disponível for menor ou igual a zero, exibe "ESGOTADO".