Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

DONDE ESTA EL ERROR?

El operador de comparacion en este caso es == mas no el =, este es el operador de asignacion

1 respuesta

Acorde con lo aprendido en las clases, Sabemos que un signo igual (=) significa asignación, es decir:

let contraseniaDelSistema = "contraseniaPrueba!";

Lo que estra dentro de las comillas: "contraseniaPrueba!" se esta asignando (almacenando o guardando) dentro de la variable (la cajita) que se nombro con el nombre de: contraseniaDelSistema.

De igual forma pasa con la la siguiente linea:

let contrasenia = prompt("Ingrese la contraseña del sistema:");

Aquí, cualquier cosa que el usuario ingrese por teclado, se asignará (almacenará o guardará) en la variable (la cajita) que se nombro con el nombre de: contrasenia.

En ambas oportunidades, se esta tratando al digno igual (=) como una asignacion.

Ahora que el usuario ha ingresado la contraseña, el sistema intenta comparar si la contraseña ingresa por el usuario y que se almaceno en: contrasenia, es igual a la contraseña que internamente tiene almacena el sistema en: contraseniaDelSistema. Y es en este proceso, donde esta el error del código, pues LUIS escribió esta parte del código así:

if (contrasenia = contraseniaDelSistema){
    alert("Acceso al sistema garantizado");
}

El error se encuentra exactamente el la linea:

if (contrasenia = contraseniaDelSistema){

Ya que se encuentra asignando a la variable (la cajita) que se nombro con el nombre de: contrasenia el mismo valor que ya contenía la variable (la cajita) que se nombro con el nombre de: contraseniaDelSistema.

Aqué, en lugar de comparar se esta asignando, es decir, no importa que cosas escriba el usuario como su supuesta contraseña, porque al llegar a esta linea, eso pierde validez y en su lugar solo se guarda nuevamente la contraseña predefinida por el LUIS en la variable (la cajita) contraseniaDelSistema. Es por ello, que no importa que escriba el usuario, siempre tendrá acceso al sistema.

Para corregir el error, es necesario un doble igual (==) en la linea del error, de este modo, en lugar de escribir:

if (contrasenia = contraseniaDelSistema){

LUIS realmente debería escribir:

if (contrasenia == contraseniaDelSistema){

Para que únicamente, se de acceso al usuario solamente cuando ingrese una contraseña que coincida con la contraseña que LUIS configuro para acceder al sistema.

El código completo con la correccion es:

let contraseniaDelSistema = "contraseniaPrueba!";

let contrasenia = prompt("Ingrese la contraseña del sistema:");

if (contrasenia == contraseniaDelSistema){
    alert("Acceso al sistema garantizado");
}

Feliz dia a todos..!