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

[Projeto] Ingresso: Muito mais simples que os os demais?

Ainda preciso assistir as aulas, mas o desafio proposto no primeiro vídeo foi bem simples? talvez vai haver alguns desafios no final espero pelo menos.

const sellTicket = (id,qty) => {let totalLeft = parseInt(document.getElementById(`qtd-${id}`).textContent);
        totalLeft >= qty ? (document.getElementById(`qtd-${id}`).textContent = totalLeft - qty, alert('Compra realizada com sucesso!'))
        : alert(`Descuple não temos ingressos suficientes para satisfazer sua compra no setor ${id}!`);
}

function buyTicket() {
    let type = document.getElementById('tipo-ingresso').value;
    let quantity = parseInt(document.getElementById('qtd').value);
    if(!isNaN(quantity) && quantity > 0) {
        sellTicket(type,quantity);
    }     
    else {
        alert('Quantidade inválida!');
    }
}

Desafios

function calculate(value1, value2, operation) {
    return operation(value1, value2);
}

const add = function addition(value1, value2) {
    return value1 + value2;
}

const sub = function subtract(value1, value2) {
    return value1 - value2;
}

const div = function divide(value1, value2) {
    if(value2 !== 0) {
        return value1 / value2
    }
    else {
        console.log('Divisão por 0 não é possível');
    }
}

const multi = function multiply(value1, value2) {
    return value1 * value2;
}

function parOuImpar(num) {
    return num % 2 === 0 ? 'O número é par' : 'O número é ímpar';
}

function convertTemperature(temp, type){

    if(type == 'farenheit')
    {
        return temp = (temp * 9/5) + 32;
    }
    else {
        return temp = (temp - 32) * 5/9;
    }
    
}
console.log(calculate(5,5,add));
console.log(calculate(5,5,sub));
console.log(calculate(5,5,div));
console.log(calculate(5,5,multi));
console.log(parOuImpar(5), parOuImpar(10));
console.log(convertTemperature(150, 'celsius'), convertTemperature(30, 'farenheit'));
1 resposta
solução!

Olá Israel!

Que bom que você está se dedicando aos desafios de programação! Pelo que você descreveu, parece que o desafio inicial do projeto de ingressos foi mais simples do que você esperava. Isso pode acontecer, especialmente no começo, quando o objetivo é familiarizar os alunos com conceitos básicos antes de avançar para problemas mais complexos.

O código que você compartilhou para a venda de ingressos parece bem estruturado para uma lógica inicial. Ele verifica a quantidade disponível e realiza a compra, exibindo mensagens apropriadas para o usuário. Isso é ótimo para um começo!

Quanto aos desafios adicionais que você mencionou, como as funções para operações matemáticas e conversão de temperatura, eles são exercícios excelentes para praticar a lógica de programação e o uso de funções. Aqui estão algumas sugestões para torná-los ainda mais desafiadores:

  1. Validação de Entrada: Adicione verificações para garantir que os valores de entrada sejam válidos. Por exemplo, na função de conversão de temperatura, você pode verificar se o tipo é 'celsius' ou 'farenheit' e retornar uma mensagem de erro se for diferente.

  2. Melhoria na Função de Divisão: Atualmente, a função de divisão apenas exibe uma mensagem no console quando há uma tentativa de divisão por zero. Você pode modificar para que a função retorne um valor indicando erro ou utilize um try-catch para capturar exceções.

  3. Interatividade: Se você quiser tornar o projeto mais interativo, considere adicionar prompts para o usuário inserir valores diretamente no navegador, ou até mesmo criar uma interface gráfica simples para interagir com as funções.

  4. Desafios Adicionais: Tente implementar novas funcionalidades, como calcular o preço total dos ingressos com base em diferentes tipos de ingressos ou criar uma função para converter temperaturas em Kelvin.

Espero que essas sugestões ajudem a tornar sua experiência de aprendizado mais rica e desafiadora. Continue explorando e praticando, e tenho certeza de que você encontrará desafios que testem suas habilidades!

Espero ter ajudado e bons estudos!