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

Como fazer para funcionar com "s".

Para ficar "amigável" como poderia solucionar se o usuário digitasse "s" em vez de "S" e mesmo assim o código funcionasse.

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

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

        mostra("Pode dirigir");
    } else {

        mostra ("Não pode dirigir");
    }

Ok, pesquisei um pouco e tentei desse modo e não funcionou:

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

        mostra("Pode dirigir");
    } else {

        mostra ("Não pode dirigir");
    }

Porém, retirando parênteses do "s" || "SS" funcionou, alguém saberia o motivo?

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

        mostra("Pode dirigir");
    } else {

        mostra ("Não pode dirigir");
    }
2 respostas
solução!

Fala Yuri, tudo certo?

Quando você usa o operador OR você precisa isolar com os parênteses, quando você não coloca, pode "bagunçar" e o resultado da condição deve ter dado TRUE, por isso funcionou.

Provavelmente não funcionou o seu código com parênteses porque você colocou na condição "SS" ao invés de "S".

Uma forma mais simples de você fazer isso é converter a entrada para maiúscula ou minúscula e vai dar certo independente se for digitado "s" ou "S":

if (idade >=18 && temCarteira.ToUpper() == "S"){
        mostra("Pode dirigir");
} else {
        mostra ("Não pode dirigir");
}

ou

if (idade >=18 && temCarteira.ToLower() == "s"){
        mostra("Pode dirigir");
} else {
        mostra ("Não pode dirigir");
}

Verifique apenas a sintaxe correta para a linguagem que está usando ToUpper() e ToLower() tem em C#, no JavaScript é toUpperCase() e toLowerCase().

Abraço

Olá, Yuri. Tudo bem?

Eu coloquei as duas strings, apenas separando por vírgula e funcionou. O usuário pode digitar S ou s que o programa entendeu.

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

    if(idade >= 18 && temCarteira == "S","s") {
        document.write("Você pode dirigir");

Espero que ajude!