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

Diferenciar variável "S" de "s" ?

Boa noite pessoal! Gostaria de saber se tem com tratar o que digitamos no prompt pois no exercicio 6 aula posso dirigir , se declarar a variavel "S" e digitar "s" no prompt o retorno sera falso, tem como tratar isso!? Para que quando digitar a resposta independente de ser maiúsculo ou minusculo obter a resposta correta.

8 respostas

Você pode tratar o seu "If" especificando o que deseja por exemplo:

if (mePagaUmaCoxinha == "S")  ||  (mePagaUmaCoxinha == "s")
    printl("Te pago uma coxinha!");
else
....

ou você pode utilizar o .upcase para transformar tudo o que o usuário digitar em letra maiúscula.

if mePagaUmaCoxinha.upcase == "S"

fica ateu critério

Esqueci de dizer...

Não esqueça de marcar o tópico como solucionado quando finalizar suas dúvidas, assim você também ajuda outras pessoas s2

Oi Eduardo, ainda esta com dúvida? Se tiver entro em ação.

solução!

Oi Eduardo! Veja um exemplo que resolve a questão de maiúsculo e minúsculo. Nela, usaremos "OU" na condição. A condição é representada em Javascript por ||.

<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? Responsa S ou N");

    if( idade >= 18 ) {
        if( temCarteira == "S" || temCarteira == "s") {
            mostra("Pode dirigir");
        }
    }

    if(idade < 18) {
        mostra("Não pode dirigir");
    }

</script>

Há também outra solução, que envolve um conhecimento mais avançado de JavaScript. Eu evitei mostrar essa formata até porque o curso é um curso de lógica e não é focada nos truques da linguagem JavaScript:

<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? Responsa S ou N");

    // transforma em letra maíscula se estiver em minúscula. 
    temCarteira = temCarteira.toUppercase();

    if( idade >= 18 ) {
        if( temCarteira == "S") {
            mostra("Pode dirigir");
        }
    }

    if(idade < 18) {
        mostra("Não pode dirigir");
    }

</script>

Veja que dessa forma não precisa da condição "OU" porque garantimos que tudo o que for digitado estará em maiúsculo!

Sucesso e bom estudo!

Valeu galera, muito obrigado.

Nikolai kkkk eu pago uma coxinha kkkkk

Boa noite.

Flávio, a função correta para colocar todas as letras maiúsculas "toUpperCase()"?

Achei mais prático assim com base no que já foi visto.

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

Bacana!