Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Me gustaria saber por que al colcar el codigo de esta manera no funcion la funcion else

var edad = parseInt(prompt("¿Cuál es tu edad?"));
var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

if(edad >= 18){
    imprimir("Puedes Conducir")
}


if(tieneslicencia= "S") {
    imprimir("Puedes Conducir")
}


else {
    imprimir("No puedes Conducir")
2 respuestas

Buenas...

La razón por la que el código no funciona es que la declaración else está asociada con la última declaración if anterior. Por eso, sólo se imprimirá "No puedes Conducir" cuando no se tenga licencia, y no se imprimirá cuando no se tenga la mayoría de edad.

Para solucionar ese problema, puedes agrupar las dos declaraciones if en una sola utilizando el operador lógico && (y) como se muestra a continuación:

var edad = parseInt(prompt("¿Cuál es tu edad?"));
var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

if(edad >= 18 && tieneLicencia == "S") {
    imprimir("Puedes Conducir")
} else {
    imprimir("No puedes Conducir")
}

De esta manera, se verifica si el usuario tiene al menos 18 años y tiene licencia antes de imprimir "Puedes Conducir". Si no se cumplen ambas condiciones, se imprime "No puedes Conducir".

Como lo propuso David es lo mas optimo. A partir de tu propuesta de forma respetuosa pienso que su objetivo era hacerlo asi**.

var edad = parseInt(prompt("¿Cuál es tu edad?"));
var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");

if(edad >= 18){

        if(tieneslicencia= "S") {
            imprimir("Puedes Conducir") // puede conducir porque  es mayor de 18 y tiene licencia
            }
        else {
        imprimir("No puedes Conducir") // no puede conducir porque NO  tiene licencia
            }
    }
else {
        imprimir("No puedes Conducir") // no puede conducir porque  NO es mayor de 18 años
        }