O to kod:
#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
class enigma // tworzy obiekt ,,enigma''
{
public:
char tablica[31]; // tablica przechowywujaca znaki do losowania
int znaki; // zmienna przechowywujaca ilosc znakow w tekscie
int wylosowane; // zmienna przechowywujaca wylosowane liczby
std::string tekst;//zmienna przochywujaca tekst
void menu() // Menu programu
{
std::cout <<"\t\t\t==========" << std::endl;
std::cout <<"\t\t\t||ENIGMA||" << std::endl;
std::cout <<"\t\t\t==========" << std::endl;
std::cout <<"\n\n";
std::cout <<"==================" << std::endl;
std::cout <<"||1. Szyfrowanie||" << std::endl;
std::cout <<"||0. Wyjscie ||" << std::endl;
std::cout <<"==================" << std::endl;
}
};
int main()
{
using namespace std;
//==============================================
//zmienne skalarne spoza obiektu enigma
int opcja; // zmienna odpowiedzialne za switch
int a = 0;// zmienna pomocnicza
static int b [30]; // zmienna pomocnicza
int c = 0;// zmienna pomocnicza
int losowa_tablica[14] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13};
static int gotowe_liczby[20];
int d = 0;
int e;
int j = 31;
int o = 0;
std::string zwykly;
static char zakodowane[30];
enigma obiekt;
// =============================================
srand( time( NULL ) );
char tablica[ 31 ] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'w', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9','\0'};
obiekt.menu();
std::cout <<"\nWybierz dzialanie: ";
std::cin >> opcja;
switch (opcja)
{
case 1:
obiekt.tekst;
cout <<"\n\nPodaj tekst do zaszyfrowania: ";
getline(cin, obiekt.tekst); // pobiera tekst od uzytkownika
std::cout <<"\n\n";
obiekt.znaki = obiekt.tekst.length(); // przypisanie zmiennej znaki wartosci odpowiadajacej ilosci znakow w tekscie
std::cout <<"\nWylosowano nastepujace liczby: ";
for ( int i = 0; i < obiekt.znaki; i++ )
{
obiekt.wylosowane =( rand() % 31 ) + 0;
a++;
b[a] = obiekt.wylosowane;
std::cout << b[a] <<" ";
}
for( int p = 0; p < obiekt.znaki; p++ )
{
d++;
gotowe_liczby[d] = b[d] + losowa_tablica[d];
std::cout << gotowe_liczby[d];
}
while (o < obiekt.znaki)
{
o++;
std::cout << tablica[gotowe_liczby[o]];
std::cout << "\n" << zakodowane[o];
}
}
}
[/code]