Nie wiem jak dokończyć program szyfrujący

0

Witam, od jakiegoś czasu próbuję napisać program do szyfrowania. Ale coś mi nie wychodzi ;d
Tu jest mój kod (Tego co udało mi się napisać):

	cout << "Please enter your text to crpyt. [MAX. 50 WORDS! MIN. 5 WORDS!]" << endl;
	cin >> string_to_crypt;
	if (string_to_crypt.length() > 50) { cout << "ERROR!" << endl; exit(1); } //Wiadomo
	if (string_to_crypt.length() < 5) { cout << "ERROR!" << endl; exit(1); } // Wiadomo

	for (char i; i < string_to_crypt.length(); ++i) //Petla dzieki ktorej wszystko sie zapetla
	{
		//string_save = string_save + string_to_crypt_if_stop; //Nie dziala.
		cout << string_to_crypt[i] << endl; //Wysywietlanie pierwszej literki
		string_to_crypt_if_stop++; // Do zatrzymania pentli, kiedy wypisuje literki
		if (string_to_crypt_if_stop == string_to_crypt.length()) //Porownywanie, do zatrzyamnia literki
		{
			for (char i;i<string_to_crypt.length();++i)
			{
				if (string_to_crypt[i]&&"A", "a", "B", "b", "C", "c"...)
				{
					cout<<"Piewsza litera: "<<string_to_crypt[i]<<endl;
				}
			}
                }

Ale nie mam pomysłu jak zrobić aby odczytywał np. jedną literkę, szyfruje ją i przechodził do drugiej.
Bardzo proszę o pomoc!
Regards!

0

Ale nie mam pomysłu jak zrobić aby odczytywał np. jedną literkę, szyfruje ją i przechodził do drugiej.

Może najpierw podstawy, a dopiero później zabieranie się do tak skomplikowanych rzeczy jak szyfrowanie?

2

Nie wiem co chciałeś osiagnąć, ale to jest na pewno źle:

for (char i; i < string_to_crypt.length(); ++i) 

Jaka jest wartość początkowa i?

0
kapojot napisał(a):

Ale nie mam pomysłu jak zrobić aby odczytywał np. jedną literkę, szyfruje ją i przechodził do drugiej.

Może najpierw podstawy, a dopiero później zabieranie się do tak skomplikowanych rzeczy jak szyfrowanie?

Podstawy?

0
kq napisał(a):

Nie wiem co chciałeś osiagnąć, ale to jest na pewno źle:

for (char i; i < string_to_crypt.length(); ++i) 

Jaka jest wartość początkowa i?

Zapętla tyle razy ile słów w danym wyrazie.

0
kq napisał(a):

Nie wiem co chciałeś osiagnąć, ale to jest na pewno źle:

for (char i; i < string_to_crypt.length(); ++i) 

Jaka jest wartość początkowa i?

Zapętla tyle razy ile słów w danym wyrazie.

i=0;
Musiałem tego nie dopisać ;d

1

Masz dwie zagnieżdżone pętle, obie z licznikiem i i obie bez wartości początkowej. To po prostu nie będzie działać. Poza tym nie widzę tu żadnego szyfrowania. Ten twój kod nie ma zupełnie sensu.

string encrypt(string plaintext){
    string ciphertext = "";
    for(unsigned int i=0;i<plaintext.length();i++){
        char letter = plaintext[i];
        ciphertext += encrypt(letter);
    }
    return ciphertext;
}
0
Shalom napisał(a):

Masz dwie zagnieżdżone pętle, obie z licznikiem i i obie bez wartości początkowej. To po prostu nie będzie działać. Poza tym nie widzę tu żadnego szyfrowania. Ten twój kod nie ma zupełnie sensu.

"Ale nie mam pomysłu jak zrobić aby odczytywał np. jedną literkę, szyfruje ją i przechodził do drugiej."

1 użytkowników online, w tym zalogowanych: 0, gości: 1