1
resposta

[Projeto] Minha solucao - usando Switch e function checarAssentos

let maxPista = document.getElementById('qtd-pista').textContent = 100;
let maxSuperior = document.getElementById('qtd-superior').textContent = 200;
let maxInferior = document.getElementById('qtd-inferior').textContent = 400;

function comprar(){
//pegar parametros
let ingresso = document.getElementById('tipo-ingresso').value;
let quantidade = document.getElementById('qtd').value;

//diminuir do total
switch (ingresso){
    case "pista":
        maxPista = checarAssentos(quantidade,maxPista);
        break;
    case "superior":
        maxSuperior = checarAssentos(quantidade,maxSuperior);
        break;
    case "inferior": 
        maxInferior = checarAssentos(quantidade,maxInferior);
        break; }

//display diminuido do total
let campoPista = document.getElementById('qtd-pista');
let campoSuperior = document.getElementById('qtd-superior');
let campoInferior = document.getElementById('qtd-inferior');
campoPista.textContent = maxPista;
campoSuperior.textContent = maxSuperior;
campoInferior.textContent = maxInferior;

//resetar qtd cadeiras
document.getElementById('qtd').value = ''; }

function checarAssentos (quantidade, max){
if (quantidade > max){
alert('Nao e possivel comprar mais assentos do que os disponiveis.'); }
else {
max = max - quantidade;}
return max; }

1 resposta

Oi! Como vai?

Sua solução usando switch junto da função checarAssentos ficou bem organizada, facilita a leitura e separa bem as responsabilidades de cada parte. Isso mostra um bom cuidado em estruturar o código.

Uma dica interessante para o futuro é usar parseInt para garantir que o valor capturado no input seja tratado como número antes da subtração. Veja este exemplo:


let quantidade = parseInt(document.getElementById('qtd').value);
console.log(quantidade + 1);

Esse código transforma o texto do input em número e soma 1, evitando erros de concatenação de strings.

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