Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Projeto E-Ticket + desafios

1 - Adicione uma verificação para garantir que a quantidade inserida pelo usuário seja um número positivo. Se o valor não for válido, exiba uma mensagem de erro adequada.

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

    if (isNaN(quantidade) || quantidade < 0) {
        alert ('A quantidade deve ser um número maior que zero.');
        return;
    }
    
    if (tipoIngresso == 'pista') {
        subtrairPista(quantidade);
    } else {
        if ( tipoIngresso == 'superior') {
            subtrairSuperior(quantidade);
        } else {
            subtrairInferior(quantidade);
        }
    }
}


function subtrairPista(quantidade) {
    let disponibilidadePista = parseInt(document.getElementById('qtd-pista').textContent);

    if (quantidade > disponibilidadePista) {
        alert ('Não é possível comprar a quantidade desejada.')
    } else {
        disponibilidadePista = disponibilidadePista - quantidade
        document.getElementById('qtd-pista').textContent = disponibilidadePista
        alert ('Compra realizada com sucesso');
    }
}


function subtrairSuperior(quantidade) {
    let disponibilidadeSuperior = parseInt(document.getElementById('qtd-superior').textContent);

    if (quantidade > disponibilidadeSuperior) {
        alert ('Não é possível comprar a quantidade desejada.')
    } else {
        disponibilidadeSuperior = disponibilidadeSuperior - quantidade
        document.getElementById('qtd-superior').textContent = disponibilidadeSuperior
        alert ('Compra realizada com sucesso');
    }
}

function subtrairInferior(quantidade) {
    let disponibilidadeInferior = parseInt(document.getElementById('qtd-inferior').textContent);

    if (quantidade > disponibilidadeInferior) {
        alert ('Não é possível comprar a quantidade desejada.')
    } else {
        disponibilidadeInferior = disponibilidadeInferior - quantidade
        document.getElementById('qtd-inferior').textContent = disponibilidadeInferior
        alert ('Compra realizada com sucesso');
    }
}

2 - Crie uma função que aceite uma string como parâmetro, utilize a função parseInt para converter essa string em um número inteiro e retorne o resultado.

function converterInteiro(valorString) {
    return parseInt(valorString);
}

3 - Escreva um programa de calculadora simples com funções separadas para adição, subtração, multiplicação e divisão. Utilize um bloco condicional para determinar qual função executar com base em uma variável que representa a operação desejada.

function calcularSoma(x, y, ...outrosNumeros) {
    let totalSoma = x + y;
    for (let numero of outrosNumeros) {
        totalSoma += numero;
    }
    alert(totalSoma)
    return totalSoma;
}


function calcularSubtraçao(x, y, ...outrosNumeros) {
    let totalSubtraçao = x - y;
    for (let numero of outrosNumeros) {
        totalSubtraçao -= numero;
    }
    alert(totalSubtraçao)
    return totalSubtraçao;
}



function calcularMultiplicaçao(x, y, ...outrosNumeros) {
    let totalMultiplicaçao = x * y;
    for (let numero of outrosNumeros) {
        totalMultiplicaçao *= numero;
    }
    alert(totalMultiplicaçao)
    return totalMultiplicaçao;
}



function calcularDivisao(x, y, ...outrosNumeros) {
    let totalDivisao = x / y;
    for (let numero of outrosNumeros) {
        totalDivisao /= numero;
    }
    alert(totalDivisao)
    return totalDivisao;
}


function calculadora(operaçao, x, y, ...outrosNumeros) {
    switch (operaçao) {
        case 'soma':
            return calcularSoma(x, y, ...outrosNumeros);
        case 'subtraçao':
            return calcularSubtraçao(x ,y, ...outrosNumeros);
        case 'multiplicaçao':
            return calcularMultiplicaçao(x, y, ...outrosNumeros);
        case 'divisao':
            return calcularDivisao(x, y, ...outrosNumeros);
    }
}

calculadora('multiplicaçao', 10, 5, 2);

4 - Implemente uma função que aceite um número como parâmetro e utilize um bloco condicional para determinar se o número é par ou ímpar.

function determinarParOuImpar(n1) {
    if (Number.isEven (n1)) {
        console.log(`${n1} é um número par.`);
    } else {
        console.log(`${n1} é um número ímpar`);
    }
}
2 respostas
solução!

Oi, Felipe! Tudo bem?

Ótimo código, parabéns pela execução! Deixo como sugestão apenas uma abordagem diferente na questão 4, usando o operador módulo (%) para verificar se o número é par ou ímpar:

function determinarParOuImpar(n1) {
    if (n1 % 2 === 0) {
        console.log(`${n1} é um número par.`);
    } else {
        console.log(`${n1} é um número ímpar.`);
    }
}

Deixo também um exemplo de função para converter a temperatura entre Celsius e Fahrenheit:

function converterTemperatura(temperatura, escala) {
    if (escala === 'C') {
        return (temperatura * 9/5) + 32; // Celsius para Fahrenheit
    } else if (escala === 'F') {
        return (temperatura - 32) * 5/9; // Fahrenheit para Celsius
    } else {
        return 'Escala inválida';
    }
}

// Exemplos de uso:
console.log(converterTemperatura(0, 'C')); // 32
console.log(converterTemperatura(32, 'F')); // 0

Espero ter ajudado!

Um forte abraço e bons estudos!

Mais uma vez muito obrigado pelas sugestões, Sarah. Vou tentar aplicar.