MeehoweCK

Untitled

Jun 24th, 2021
542
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void Interfejs::start()
  2. {
  3.     cout << "Wpisz nazwe pliku, ktory chcesz otworzyc: ";
  4.     cin >> nazwa_pliku;
  5.     plik_in.open(nazwa_pliku);
  6.  
  7.     // nie udało się otworzyć pliku:
  8.     if(plik_in.fail())
  9.     {
  10.         cout << "Nie ma takiego pliku w rejestrze. Chcesz utworzyc nowy plik czy wpisac inna nazwe?\n";
  11.         cout << "\t1 - utworz nowy plik o nazwie " << nazwa_pliku << endl;
  12.         cout << "\t2 - wpisz inna nazwe pliku\n";
  13.         char komenda;
  14.         do
  15.         {
  16.             komenda = _getch();
  17.         }
  18.         while(komenda < '1' || komenda > '2');
  19.         if(komenda == '1')
  20.         {
  21.             // utworzenie nowego pliku o podanej nazwie
  22.             stworz_nowy_plik(nazwa_pliku);
  23.         }
  24.         else
  25.         {
  26.             // wpisanie innej nazwy pliku
  27.             start();
  28.         }
  29.     }
  30.     // plik istnieje
  31.     else
  32.     {
  33.         odszyfruj(plik_in);
  34.         // wczytanie hasła z pliku
  35.         plik_in >> haslo_zbiorcze;
  36.  
  37.         // pytanie o hasło
  38.         string haslo;
  39.         short ile_prob = 3;
  40.         bool flaga = false;
  41.         while(ile_prob > 0)
  42.         {
  43.             cout << "Wpisz haslo do pliku " << nazwa_pliku << " (pozostalo prob: " << ile_prob << "): ";
  44.             cin >> haslo;
  45.             if(haslo == haslo_zbiorcze)
  46.             {
  47.                 cout << "Haslo poprawne, wcisnij dowolny przycisk, aby kontynuowac...";
  48.                 _getch();
  49.                 flaga = true;
  50.                 break;
  51.             }
  52.             else
  53.                 --ile_prob;
  54.         }
  55.         if(flaga)
  56.         {
  57.             // hasło poprawne, wejście do pliku
  58.             plik_otwarty = true;        // WYJŚCIE DO MENU Z ODSZYFROWANYM!! PLIKIEM
  59.         }
  60.         else
  61.         {
  62.             // hasło niepoprawne
  63.             cout << "Trzykrotne powtorzenie blednego hasla. Wcisnij dowolny przycisk, aby wyjsc z programu...";
  64.             zaszyfruj(nazwa_pliku);
  65.             plik_in.close();
  66.             plik_out.open("temp.dat");
  67.             plik_out << endl;
  68.             plik_out.close();
  69.  
  70.             _getch();
  71.             return;
  72.         }
  73.         plik_in.close();
  74.     }
  75. }
RAW Paste Data