Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C++] Szyfrator Vigenere'a, odczyt i zapis do pliku
#1
Program napisany przeze mnie na prośbe kolegi na zaliczenie na studiach informatycznych.
Program pyta o ścieżke do pliku gdzie znajduje sie plik z tekstem do zaszyfrowania, pyta o nazwe pliku wynikowego i pyta o klucz jakim tekst ma być zaszyfrowany.

Kod:
#include <iostream>
#include <conio.h>

using namespace std;
char hash[255];
char plain[255];
char key[255];
char character;

FILE *IN, *OUT;
char input_filename[20];
char output_filename[20];
int i = 0;

int main(int argc, char *argv[])
{
    cout << "Podaj nazwe pliku, ktorego tresc ma zostac zaszyfrowana: " ;
    cin >> input_filename;
    
    cout<<"Podaj nazwe pliku wynikowego: ";
    cin >> output_filename;
    
    cout << "Wprowadz klucz, ktorym ma byc zaszyfrowany plik wejsciowy: ";
    cin >> key;
  
    if((IN = fopen(input_filename,"rb")) !=NULL)    
    {
     if((OUT = fopen(output_filename, "wb")) !=NULL)
     {
             while ((character = getc(IN)) != EOF)
             {
                  hash[i] = ((character + key[i % strlen(key)] - 64) % 223) + 32;
                  putc(hash[i], OUT);
                  i++;
             }  
      fclose(OUT);  
     }
     fclose(IN);  
    }      
    cout << "Zaszyfrowany tekst: " << hash << endl;
    cout << "Zapisano w pliku: " <<  input_filename;
    
    getch ();
    return EXIT_SUCCESS;
}

Jeżeli ktoś ma ochote może dopisać kilka linijek kodu, by program wykorzystywał argv[] i konwertował tekst przy przeciągnięciu pliku na program.
Chcesz pomóc? Wstaw jako sygnature na innym forum:
[Obrazek: 993a3cb39134bda0.gif]
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522

Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości