3
respostas

Dá sempre 'não pode dirigir' ??

<meta charset="UTF-8">
<script>
  function jump() {
    document.write("<br><br>");
  }
  function show(frase) {
    document.write(frase);
    jump();
  }
  var idade = parseInt(prompt("Qual é sua idade?"));
  var temCarteira = prompt("Tem carteira? Responda 'S' ou 'N'");
  if( idade >= 18 && temCarteira == "S") {
         show("Pode dirigir");
     } else {
         show("Não pode dirigir");
     }
</script>
3 respostas

Olá. Que tal usar um else if? Sou aluno de lógica de programação e java também <3.

<meta charset="UTF-8">
<script>
  function jump() {
    document.write("<br><br>");
  }
  function show(frase) {
    document.write(frase);
    jump();
  }
  var idade = parseInt(prompt("Qual é sua idade?"));
  var temCarteira = prompt("Tem carteira? Responda 'S' ou 'N'");
  if( idade >= 18 && temCarteira == "S") {
         show("Pode dirigir");
     } 

     else   if( idade >= 18 && temCarteira == "N") {
         show("Você é maior, mas não pode dirigir");
     } 

     else {
         show("Não pode dirigir");
     }
</script>

Uma outra idéia, seria inserir uma condicional que o perguntasse se ele tem menos de 18 anos e já fosse para condição de não poder dirigir, sem perguntar se tem carteira. Que tal tentar dessa forma?

Já percebi. Para funcionar tenho de usar S ou N maiúsculas, conforme foi solicitado no prompt. Tbm o uso do if adicional saiu assim:

<meta charset="UTF-8">
<script>
  function jump() {
    document.write("<br><br>");
  }
  function show(frase) {
    document.write(frase);
    jump();
  }
  var idade = parseInt(prompt("Qual é sua idade?"));
  var temCarteira = prompt("Tem carteira? Responda 'S' ou 'N'");
  if (idade >= 18 && temCarteira == "S") {
    show("Pode dirigir");
  } else {
    if (idade >= 18 && temCarteira == "N") {
        show("Você é maior, mas não pode dirigir");
      }
      show("Você não pode dirigir, mas de jeito nenhum!");
    }
</script>

Eliezer, tudo bem?

Hum.. Entendi. Isso é fácil de resolver.. É só usar o .toLowerCase(). Ele converte tudo o que foi entrado para minusculo. Então independente de usar maiúsculo ou minusculo, ele converte pra minusculo. Mas fique atento! Isso envolve também uma mudança nas condicionais, para identificar somente o resultado minusculo. Fica assim:

<meta charset="UTF-8">
<script>
  function jump() {
    document.write("<br><br>");
  }
  function show(frase) {
    document.write(frase);
    jump();
  }
  var idade = parseInt(prompt("Qual é sua idade?"));
  var temCarteira = prompt("Tem carteira? Responda 'S' ou 'N'").toLowerCase();
  if( idade >= 18 && temCarteira == "s") {
         show("Pode dirigir");
     } 

     else   if( idade >= 18 && temCarteira == "n") {
         show("Você é maior, mas não pode dirigir");
     } 

     else {
         show("Não pode dirigir");
     }
</script>

Espero ter ajudado ^^

Nota: Caso queira saber mais, pesquise sobre métodos de formatação de string. Toda linguagem tem.