////////////////////////////////////////// // Còpia encriptada per substitució monoalfabètica // Joan Aranès Clua // 7/04/2002 ////////////////////////////////////////// // MANEIG DE L'EXECUTABLE: // // Cal posar-nos a la consola del DOS // i anar al directori on es troba l'executable m8e1.exe // seguint els següents passos: // 1. generem un fitxer de prova fent, per exemple, // 1.1.: %>copy con prova.txt // aixo es una prova // CTRL+Z (insereix la marca de final d'arxiu EOF) // 2. executem el programa que genará un segon arxiu amb el missatge encriptat // el nom del qual haurem de triar (p.ex: 'arxiu2.txt') fent: // 2.1.: %>m8e1 prova.txt prova2.txt // 3. comprovar el contingut del fitxer generat // %>type prova2.txt #include <stdio.h> #include <ctype.h> void main(int argc, char *argv[]){ FILE *origen, *desti; char car; int codi; //codi de substitució if(argc!=3){ printf("S'ha d'especificar arxiu origen i arxiu destí\n"); return; } printf("\n\nintroduïu el codi (0-25)...\n"); scanf("%d", &codi); origen=fopen(argv[1],"rb");//fitxer de lectura i binari desti=fopen(argv[2],"wb");// fitxer d'escriptura i binari if (origen==NULL || desti==NULL){ printf("no es pot realitzar l'operació\n"); return; } car=getc(origen); while(!feof(origen)) // llegeix en el fitxer origen fins trobar // la marca EOF de final d'arxiu { if (car!=' ') // si no es tracta d'un espai en blanc { car =(tolower(car)-97+codi)%26+97; } putc(car,desti); // també copia els espais car=getc(origen); } fclose(origen); fclose(desti); }
viernes, 1 de octubre de 2021
Encriptación de un texto por sustitución monoalfabética. Un ejercicio en C/C++
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario