5
respostas

Exercício posso dirigir?

Criei um if para averiguar a idade da pessoa, e dentro dele foi criado outro if em caso da idade ser menor que 18 ele ja cai direto no else nem deixando perguntar sem tem carteira, e caso a idade seja igual ou maior que 18 ele joga para o segundo if que que vai perguntar se a pessoa tem carteira ou não, esta opção aceita os valores S s e N n para validar para sim ou para não e caso seja colocado algum valor diferente destes ele retorna valor invalido.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

Boa tarde! Obs 1: Ao invés de vc usar o || para verificar se é maiúscula ou minúscula, vc pode tratar o resultado com prompt("Tem carteira? Responda S ou N").toUpperCase(). Vc continuará guardando na variável da mesma forma, porem fora do if e com isso seu codigo ficará mais enxuto.

Obs 2: O parâmetro passado no if, vc poderia usar o && para avaliar a proxima condição. if( idade >= 18 && temCarteira == "S" )

Bom dia Sim eu fiz primeiro assim usando o && só que alterei para caso da idade for inferior a 18 ele nem perguntar se tem carteira ou não por isso eu separei, obrigado pelas dicas.

Bom dia Tiago! Acabei errando ao passar o prompt dentro do método toUpperCase(), sendo que deveria ser ao final. prompt("Tem carteira? Responda S ou N").toUpperCase()

Depois de muitas tentativas e erros eu cheguei nesse código ai

function idade(){
  let idade = parseInt(prompt('Qual a sua idade?'))
  if(idade >= 18) {
    let carteira = prompt('Possui carteira de motorista?').toUpperCase()
    if(carteira == 'S') {
      mostra('<p>Você pode dirigir</p>')
    } else {
      mostra('<p>Você não pode dirigir</p>')
    }    
  }
  return idade
}
idade()

Segue meu código usa o toUpperCase para converter "s" em "S".

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var name = prompt("Digite seu nome ");
    var idade = parseInt(prompt("Qual é sua idade?"));
    var temCarteira = prompt("Tem carteira? Responda S ou N").toUpperCase();

    if (idade >= 18 && temCarteira == "S"){
        mostra(name + " você pode dirigir ");
    } else {

        mostra(name + " você não pode dirigir");
    }
</script>