//////////////////////////////////////////
// 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