1) Por qué cuando aumento el tamaño de la cadena (ponte una parrafada de 1000 caracteres) no funciona la opción de codificar. Me direis que es por el fgets y por el tamaño de la matriz, pero no, cambiad ambos el 100 por un 1000... y aun así, a mi no me funciona. Me da el output una B.
2) ¿Cómo puedo hacer para que las 'ñ' se presenten bien sin ponerme a hacer una función exclusiva sólo para mostrar una 'ñ'?
3) ¿Y los espacios en blanco? Me gustaría que, al encriptar, se comiese todos los espacios en blanco, y al desencriptar, los pusiese. ¿Es posible?
Gracias :)
Código C:
Ver original
/*Codificador de frases y/o palabras*/ #include <stdio.h> #include <stdlib.h> #include <string.h> /*Alfabeto para codificación por "Cesar"*/ char *claro="abcdefghijklmnñopqrstuvwxyz,.?!"; char *oculto ="DEFGHIJKLMNÑOPQRSTUVWXYZABC*-=&"; /*prototipos de funciones*/ void codificar(char *frase); void decodificar(char *frase); void flush_stdin(void); main() { int m; char frase[100]; do{ flush_stdin(); switch(m) { case 1: codificar(frase); break; case 2: decodificar(frase); break; case 3: flush_stdin(); case 4: break; default: } while(m != 4); } void codificar(char *frase) { int i,j; { { if(*(frase+j)==*(claro+i)) { *(frase+j)=*(oculto+i); } } } } void decodificar(char *frase) { int i,j; { { if((*(frase+j))==*(oculto+i)) { *(frase+j)=*(claro+i); } } } } void flush_stdin(void) { int ch; }