Código C:
Ver original
#include <stdio.h> char Letras[27]={ A , B , C , D , E , F , G , H , I , J , K , L , M , N , Ñ , O , P , Q , R , S , T , U , V , W , X , Y , Z }; void codificar(char Mensaje[27],int numero); void decodificar(char Mensaje[27],int numero); void codificar(char Mensaje[27],int numero) { int i=0; char c; while(Mensaje[i]!= \0 ) { Mensaje[i]=Mensaje[i]+numero; i++; } } void decodificar(char Mensaje[27],int numero) { int i=0; while(Mensaje[i]!= \0 ) { Mensaje[i]=Mensaje[i]-numero; i++; } } int main() { int n; char cadena[27]; codificar(cadena, n); decodificar(cadena, n); return 0; }
Mi primer problema es que no se como hacer que si el usuario introduce una palabra con Ñ y lo quiere por ejemplo recorrer una sola vez aparezca la O, en lugar del siguiente carácter ASCII que seria este ª. Mi segundo problema esta en que no me admite mensajes con espacios y solo me encripta la primer palabra, lo que quiero es que reconozca los espacios y no me los encripte simplemente que los muestre. Y por ultimo como hacer que si inserto una Z por ejemplo, y pido que se recorra una vez, me muestre la A, en lugar del siguiente carácter ASCII que seria el corchete. Ojala me puedan ayudar, después de tantos intentos ya no se me ocurre sinceramente como hacerlo y ya estoy harto. Bueno, de ante mano gracias y espero me puedan ayudar.