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

consigo colocar mais de uma resposta no if?

<meta charset="UTF-8">

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

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

    var idade = parseInt(prompt("Qual é sua idade?"));
    var temCarteira = prompt("Tem carteira? Responda S ou N");

    if(idade >= 18 && temCarteira == "S"){

        mostra( "Parabéns você já pode dirigir!!!")

    }else{

        mostra("você ainda não pode dirigir!")
    }


</script>`

Olá, reparei que no código se o S for minúsculo ele dá como não posso dirigir eu consigo colocar mais de uma condição no comparativo? do tipo


 ` if(idade >= 18 && temCarteira == "S","s"){

        mostra( "Parabéns você já pode dirigir!!!")

    }else{

        mostra("você ainda não pode dirigir!")
    }`

Quando coloco com as duas opções, mesmo se a idade for menor de 18 ele ainda dá Pode dirigir

2 respostas
solução!

Tem duas forma de fazer:

1ª: Você pode mandar o programa converter a resposta do usuário para letras maíusculas, dessa forma, mesmo se ele digitar "s", o programa converte para "S", e então ele vai conseguir passar pelo if. Você pode fazer isso colocando um método ao final da variável temCarteira, dessa forma:

var temCarteira = prompt("Tem carteira? Responda S ou N").toUpperCase();

2ª: Da para fazer da forma que você colocou no post, ou seja, fazendo a verificação no próprio if. Mas você tem que verificar se o usuário digitou "S" OU "s", então fica assim:

if(idade >= 18 && (temCarteira == "S" || temCarteira == "s")){

Perceba que eu coloquei um paretenses para ele verificar se tem carteira, pois se você nao colocar, e digitar tanto "s" como "S", ele vai ignorar a idade, e vai sempre aparecer que pode dirigir.

Espero ter ajudado, qualquer dúvida comenta aqui. E caso essa resposta tenha ajudado, marque-a como solução o tópico, para que ele não fique aberto no fórum. Valeu.

Ajudou muito Matheus!! mto obrigado