Underc0de

Programación General => C / C++ => Mensaje iniciado por: Jimeno en Octubre 15, 2014, 12:38:31 PM

Título: [C] Texto a ROT13
Publicado por: Jimeno en Octubre 15, 2014, 12:38:31 PM
¡Buenas!
Traigo un corto código en C para cifrar la entrada de texto a ROT13 (aunque se puede cambiar el 13 en el código para modificar el cifrado).
Era un ejercicio de clase, y al revisar la sección vi el código de Rolo en C++, pero no había en C, así que lo he codeado (de forma bastante cutre, pero funciona).
#include <stdio.h>
#define MOV 13
char encode(char c){
if(c >= 'A' && c <= 'Z' || c>= 'a' && c <= 'z'){
if(c < 'A'){
return c;
}
else if(c < 'A' + MOV){
c += MOV;
}
else if(c <= 'Z'){
c -= MOV;
}
else if(c < 'a' + MOV){
c += MOV;
}
else if(c >= 'a' + MOV){
c -= MOV;
return c;
}
}
else{
return c;
}

}
main(){
printf("Introduce texto y pulsa ENTER para cifrarlo:\n");
  int c;
  while((c = getchar()) != EOF){
    c = encode(c);
    putchar(c);
  }
}


Si queréis modificar el cifrado cambiad el valor de MOV en el define.


Un saludo.
Título: Re:[C] Texto a ROT13
Publicado por: ANTRAX en Octubre 15, 2014, 12:41:00 PM
Muy bueno Jimenooo!!
A probarlo!!

Saldos!
ANTRAX
Título: Re:[C] Texto a ROT13
Publicado por: rollth en Octubre 16, 2014, 06:26:51 PM
Muy bueno Jimeno, habia otro tambien en batch por ahi si no recuerdo mal. En todo caso tu codigo es mas corto y por lo tanto más rapido (aunque no se note)

Además cuantos mas haya mejor, si solo hubiera una cosa de cada seria muy feo, imagina que solo pudieras usar windows vista xDDD