Conversation
|
Hola @PaolaFU está pendiente un detalle para poder enviar tu function cipher(word) {
var word = prompt('Ingrese la frase');
// ingreso de la palabra
// Validadno que la cadena no este vacia
if (word === '');
{
alert('Tienes que ingresar una frase');
}
// Validando que solo permita el ingreso de letras minusculas y mayusculas
if ((word.charCodeAt() >= 97 && word.charCodeAt() <= 122) || (word.charCodeAt() >= 65 && word.charCodeAt() <= 90)) {
alert('muy bien');
} else {
alert('No es valido ingresar numeros');
}
var wordTemp = 0;
var wordCipher = ''; // Se define para almacenara la palabra cifrada
var codeAscii = 0;// variable donde se guarda el codigo correspondiente a cada letra en ascii
for (var i = 0; i < word.length; i++) {
codeAscii = word.charCodeAt(i); // para obtener el codigo ascii de una palabra ingresada
// Para letras mayusculas
if (codeAscii >= 65 && codeAscii <= 90) {
wordTemp = (word.charCodeAt(i) - 65 + 33) % 26 + 65;
} else { // Para letras minusculas
(codeAscii >= 97 && codeAscii <= 122)
wordTemp = (word.charCodeAt(i) - 65 + 33) % 26 + 97;
}
wordCipher += (String.fromCharCode(wordTemp));
// se va almacenando uno por uno de acuerdo a la cantidad de letras de la palabra que se ingreso
}
return wordCipher;// retorna la salida de la palabra cifrada
}
console.log(cipher('a'));
function decipher(word) {
var word = prompt('Ingrese la frase');// ingreso de la palabra
// Validadno que la cadena no este vacia
if (word === '') {
alert('Tienes que ingresar una frase');
}
// Validando que solo permita el ingreso de letras minusculas y mayusculas
if ((word.charCodeAt() >= 97 && word.charCodeAt() <= 122) || (word.charCodeAt() >= 65 && word.charCodeAt() <= 90)) {
alert('muy bien');
} else {
alert('No es valido ingresar numeros');
}
var word = prompt('Ingrese la frase');
var wordTemp = 0;
var wordCipher = ''; // Se define para almacenara la palabra decifrada
var codeAscii = 0;// variable donde se guarda el codigo correspondiente a cada letra en ascii
for (var i = 0; i < word.length; i++) {
codeAscii = word.charCodeAt(i); // para obtener el codigo ascii de una palabra ingresada
// Para letras mayusculas
if (codeAscii >= 65 && codeAscii <= 90) {
wordTemp = ((word.charCodeAt(i) - 33) % 26) ;
// Para letras minusculas
} else {
(codeAscii >= 97 && codeAscii <= 122)
wordTemp = ((word.charCodeAt(i) - 33) % 26) ;
}
wordCipher += (String.fromCharCode(wordTemp)); // se va almacenando uno por uno de acuerdo a la cantidad de letras de la palabra que se ingreso
}
return wordCipher; // retorna la salida de la palabra decifrada
}
// console.log(decipher ('Alas')); |
|
@developerVilchez |
nicolethenerd
left a comment
There was a problem hiding this comment.
¡Gran trabajo!
Tengo algunos comentarios abajo. También, hay problema con su código cuando usas letras minusculas. Por ejemplo:
'HOLA' -> 'OVSH' (correcto)
pero
'hola' -> 'ubyn' (incorrecto)
| <title>Cifrado Cesar</title> | ||
| </head> | ||
| <body> | ||
| <script type="text/javascript" src = "app.js"> |
There was a problem hiding this comment.
no uses espacios sobre el =
| @@ -0,0 +1,77 @@ | |||
| function cipher(word) { | |||
| var word = prompt('Ingrese la frase'); | |||
There was a problem hiding this comment.
El prompt debe ser fuera de la función, y después puedes llamar el función así:
var userInput = prompt('Ingrese la frase');
console.log(cipher(userInput));
(Este puede estar en la línea 40)
| // ingreso de la palabra | ||
|
|
||
| // Validadno que la cadena no este vacia | ||
| if (word === ''); |
There was a problem hiding this comment.
No necesitas ; aquí
There was a problem hiding this comment.
(El if no funciona si hay ; )
|
|
||
| // Validadno que la cadena no este vacia | ||
| if (word === ''); | ||
| { |
There was a problem hiding this comment.
{ debe estar en la línea anterior
| } | ||
| // Validando que solo permita el ingreso de letras minusculas y mayusculas | ||
|
|
||
| if ((word.charCodeAt() >= 97 && word.charCodeAt() <= 122) || (word.charCodeAt() >= 65 && word.charCodeAt() <= 90)) { |
There was a problem hiding this comment.
charCodeAt necesita un parametro - el índice del caracter en la cadena. Si no usas parametro, el índice predeterminado es 0 - entonces, este código solo verifica la primera letra de la cadena.
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/charCodeAt
| } | ||
| // Validando que solo permita el ingreso de letras minusculas y mayusculas | ||
|
|
||
| if ((word.charCodeAt() >= 97 && word.charCodeAt() <= 122) || (word.charCodeAt() >= 65 && word.charCodeAt() <= 90)) { |
There was a problem hiding this comment.
charCodeAt() necesita parametro
| wordTemp = ((word.charCodeAt(i) - 33) % 26) ; | ||
| // Para letras minusculas | ||
| } else { | ||
| (codeAscii >= 97 && codeAscii <= 122); |
There was a problem hiding this comment.
Esta línea no hace nada - ¿necesitas else if?
| codeAscii = word.charCodeAt(i); // para obtener el codigo ascii de una palabra ingresada | ||
| // Para letras mayusculas | ||
| if (codeAscii >= 65 && codeAscii <= 90) { | ||
| wordTemp = ((word.charCodeAt(i) - 33) % 26) ; |
There was a problem hiding this comment.
Elimina el espacio antes de ;
| var word = prompt('Ingrese la frase'); | ||
| var wordTemp = 0; | ||
| var wordCipher = ''; // Se define para almacenara la palabra decifrada | ||
| var codeAscii = 0;// variable donde se guarda el codigo correspondiente a cada letra en ascii |
There was a problem hiding this comment.
Espacio antes de //
| (codeAscii >= 97 && codeAscii <= 122); | ||
| wordTemp = ((word.charCodeAt(i) - 33) % 26) ; | ||
| } | ||
|
|
There was a problem hiding this comment.
Elimina esta línea en blanco
No description provided.