Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // szyfr_v.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- int main()
- {
- int opcja,i=0,j=0,k;
- char dane[1024],haslo[1024],nazwa_pliku[128];
- FILE *we,*ha,*wy;
- do
- {
- printf("\n\n\tWybierz opcje; 1 - szyfrowanie, 2 - deszyfrowanie: ");
- scanf("%d",&opcja);
- }
- while(opcja!=1&&opcja!=2);
- getchar();
- switch(opcja)
- {
- case 1:
- {
- do
- {
- printf("\n\n\tPodaj nazwe pliku z tekstem do zaszyfrowania: ");
- scanf("%128s",nazwa_pliku);
- we=fopen(nazwa_pliku,"rb");
- }
- while(we==0);
- fgets(dane,1024,we);
- fclose(we);
- do
- {
- printf("\n\n\tPodaj nazwe pliku z haslem (kluczem): ");
- scanf("%128s",nazwa_pliku);
- ha=fopen(nazwa_pliku,"rb");
- }
- while(ha==0);
- fgets(haslo,1024,ha);
- fclose(ha);
- while(haslo[i]!=10)
- {
- if(islower((int)haslo[i]))
- haslo[i]=toupper(haslo[i]);
- i++;
- }
- k=i; i=0;
- while(dane[i]!=10)
- {
- if(islower((int)dane[i]))
- dane[i]=toupper(dane[i]);
- if(j<k)
- {
- if(haslo[j]+dane[i]-65<='Z')
- dane[i]=haslo[j]+dane[i]-65;
- else
- dane[i]=haslo[j]+dane[i]-65-26;
- }
- else
- {
- j=0; continue;
- }
- i++; j++;
- printf("%d",i);
- }
- do
- {
- printf("\n\n\tPodaj nazwe pliku do zapisu wyniku: ");
- scanf("%128s",nazwa_pliku);
- wy=fopen(nazwa_pliku,"a");
- }
- while(wy==0);
- fprintf(wy,"%s",dane);
- fclose(wy);
- break;
- } // case 1
- case 2:
- {
- do
- {
- printf("\n\n\tPodaj nazwe pliku z tekstem do odszyfrowania: ");
- scanf("%128s",nazwa_pliku);
- we=fopen(nazwa_pliku,"r");
- }
- while(we==0);
- fgets(dane,1024,we);
- fclose(we);
- do
- {
- printf("\n\n\tPodaj nazwe pliku z haslem (kluczem): ");
- scanf("%128s",nazwa_pliku);
- ha=fopen(nazwa_pliku,"r");
- }
- while(ha==0);
- fgets(haslo,1024,ha);
- fclose(ha);
- while(haslo[i]!=10)
- {
- if(islower((int)haslo[i]))
- haslo[i]=toupper(haslo[i]);
- i++;
- }
- k=i; i=0;
- while(dane[i]!=10)
- {
- if(islower((int)dane[i]))
- dane[i]=toupper(dane[i]);
- if(j<k)
- {
- if(dane[i]-haslo[j]+65>='A')
- dane[i]=dane[i]-haslo[j]+65;
- else
- dane[i]=dane[i]-haslo[j]+65+26;
- }
- else
- {
- j=0; continue;
- }
- i++; j++;
- }
- do
- {
- printf("\n\n\tPodaj nazwe pliku do zapisu wyniku: ");
- scanf("%128s",nazwa_pliku);
- wy=fopen(nazwa_pliku,"a");
- }
- while(wy==0);
- fprintf(wy,"%s",dane);
- fclose(wy);
- break;
- } // case 2
- }
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment