abri o código e digitar 18 /S.. ele exibe a mensagem Não pode dirigir.. não consegui encontrar o erro. alguem pode me ajudar
abri o código e digitar 18 /S.. ele exibe a mensagem Não pode dirigir.. não consegui encontrar o erro. alguem pode me ajudar
Consegue, postar seu código?
insira seu código aqui
<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? Responsa S ou N");
if( idade >= 18 && temCarteira == "S") {
mostra("Pode dirigir");
} else {
mostra("Não pode dirigir");
}
</script>
Aparentemente está ok (atende o exercício proposto)! O que pode estar havendo, é para a pergunta "Tem carteira? Responda S ou N" você estar entrando com "s" (minúsculo).
Tente rodar esse aqui, onde você pode responder com "S" ou "s".
<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" || temCarteira =="s") ) {
mostra("Pode dirigir");
} else {
mostra("Não pode dirigir");
}
</script>
Eu realizei o exercício, e quando digito o "S" diferente do que esta na variável o programa retorna false , tudo indica que o javaScript é case sensitive (Case-sensitive é um anglicismo [nota 1] que se refere a um tipo de análise tipográfica da informática. Em língua portuguesa, significa algo como "sensível à caixa das letras" ou "sensível a maiúsculas e minúsculas") Fonte Wikipedia.
Ou seja tem que digitar como esta declarado na variável, se declarou "S" quando for digitar no prompt digite "S" e caso tenha declaro minusculo "s" digite no prompt "s" .
Eduardo, na verdade podemos chegar a essa conclusão para nomes das variáveis, funções e etc...
No caso o que estamos comparando é o valor de uma variável. Realmente "s" não é igual a "S" e vice-versa.
Mas a boa notícia é que podemos tratar essas coisas com as funções mágicas que aprendemos durante esse curso.
<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.toLowerCase() == "s") {
mostra("Pode dirigir");
} else {
mostra("Não pode dirigir");
}
</script>
Com a função .toLowerCase() , mesmo que o usuário digitar "S" (maiúsculo), o valor será convertido para minúsculo, que é exatamente o que estamos esperando na condição if.