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

Resposta Desafio!

O desafio não era exatamente assim, mas deu para por em prática o que foi ensinado

alert('Boas vindas ao site')

let nome = prompt('Digite seu nome:');
let idade = prompt('Digite sua idade:');
let numVendas = prompt('Digite quantas vendas você fez este mês:');
let alerta = 'Você tem idade mas não pode pagar pela habilitação';

saldoDisponivel = numVendas * 50

if (idade < 18) {
alert('Você não pode tirar a habilitação');
} else if (idade >= 18 && saldoDisponivel >= 1000) {
alert('Você pode tirar a habilitação')
} else {
alert(alerta)
}

1 resposta
solução!

Olá, Pedro. Como vai?

Excelente iniciativa! Adaptar os desafios propostos no curso para criar cenários próprios é uma das melhores formas de fixar o aprendizado e desenvolver a autonomia na programação. O seu código ficou ótimo e aplica muito bem os conceitos fundamentais de variáveis, entrada de dados com prompt, exibição com alert e estruturas condicionais (if, else if, else).

A sua lógica para calcular o saldoDisponivel dinamicamente com base nas vendas do usuário foi uma sacada muito inteligente para conectar as variáveis do programa!

Gostaria de complementar a sua solução com duas dicas de boas práticas e correção em JavaScript que vão deixar seu código ainda mais profissional:

**1. Declaração da Variável saldoDisponivel**
No JavaScript moderno, é uma regra crucial sempre declarar as variáveis utilizando uma palavra-chave, como let ou const, antes do nome dela. Na linha do saldo, a variável foi inicializada direto: saldoDisponivel = numVendas * 50.

Para evitar comportamentos inesperados no código (escopo global acidental), o ideal é colocar o let ali também:

let saldoDisponivel = numVendas * 50;

2. Conversão de Tipos (Boas Práticas de Entrada de Dados)
Tudo o que o usuário digita dentro de um prompt() é capturado pelo navegador no formato de texto (String). O JavaScript é uma linguagem bem flexível e consegue fazer a multiplicação numVendas * 50 convertendo o texto para número de forma automática por baixo dos panos.

No entanto, em testes lógicos de comparação como idade >= 18, depender dessa conversão automática pode gerar bugs em sistemas maiores. A boa prática recomenda converter explicitamente os valores numéricos logo na entrada usando a função parseInt() (para números inteiros). Veja como o código completo fica mais robusto:

alert('Boas vindas ao site');
let nome = prompt('Digite seu nome:');

// Convertendo a entrada de texto para número inteiro com o parseInt
let idade = parseInt(prompt('Digite sua idade:'));
let numVendas = parseInt(prompt('Digite quantas vendas você fez este mês:'));

let alerta = 'Você tem idade mas não pode pagar pela habilitação';
let saldoDisponivel = numVendas * 50;

if (idade < 18) {
    alert('Você não pode tirar a habilitação');
} else if (idade >= 18 && saldoDisponivel >= 1000) {
    alert('Você pode tirar a habilitação');
} else {
    alert(alerta);
}

Parabéns pelo empenho em ir além do enunciado do desafio e criar um fluxo mais completo. É assim que evoluímos na lógica de programação!

Espero que possa ter lhe ajudado!