Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define ES_LETRA(X) ((X>=65)&(X<=90))||((X>=97)&(X<=122))?1:0
- void desencriptar(char *reg);
- char restLetra(char letra,int cant);
- int main()
- {
- FILE *pEncrip,*pDesencrip;
- char reg[600];
- pEncrip=fopen("encriptado.txt","rt");
- if(!pEncrip){
- printf("No se pudo abrir el archivo\n");
- return 10;
- }
- pDesencrip=fopen("desencriptado.txt","wt");
- if(!pDesencrip){
- printf("No se pudo crear el archivo\n");
- fclose(pEncrip);
- return 11;
- }
- while(fgets(reg,600,pEncrip)){
- desencriptar(reg);
- fprintf(pDesencrip,"%s",reg);
- }
- fclose(pEncrip);
- fclose(pDesencrip);
- return 0;
- }
- void desencriptar(char *reg){
- int cont=1;
- char *aux,*pFinal,letra;
- printf("%s\n",reg);
- aux=reg;
- pFinal=reg;
- while(*pFinal!='\n'){
- //while((*aux!=' ')& (*aux!='\n')){
- while(ES_LETRA(*aux)){
- //if(ES_LETRA(*aux))
- *aux=restLetra(*aux,cont);
- aux++;
- cont++;
- }
- pFinal=aux;
- aux--;
- while(reg<aux){
- letra=*aux;
- *aux=*reg;
- *reg=letra;
- reg++;
- aux--;
- }
- aux=pFinal+1;
- reg=pFinal+1;
- cont=1;
- }
- }
- char restLetra(char letra,int cant){
- static const char abc[53] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- char *aux,letFin;
- aux=strchr(abc,letra);
- aux -= cant;
- if(aux<abc)
- aux+=52;
- letFin=*aux;
- return letFin;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement