моя программа принимает зашифрованную строку в функцию класса EncryptedString (строка str).Кажется, что все выводится правильно, кроме того, когда я пытаюсь вызвать функцию get, чтобы получить расшифрованную строку, которую я встретил "ZZZZZZZZ".Программа берет фразу или предложение, шифрует предложение и удаляет любые недопустимые символы, затем расшифровывает его и выводит расшифрованный результат.Я помещаю в "Hello World!"и это удаляет!просто хорошо.Пространство должно сохраняться, однако оно также превращается в Z.
- Ввод: Hello World!
- Ожидаемый результат: Hello World
- Выход: ZZZZZZZZZZZ
У меня также проблема с выводом моего шифрования.Я также должен вывести зашифрованную версию фразы.Однако, когда я вывожу это, ничего не выдается.
- Ввод: Hello World!
- Ожидаемый результат: Ifmmp Xpsme
- Вывод пуст.
Вот код длявесь файл EncryptedString.cpp.Спасибо всем, кто помогает мне с этой проблемой, и если вам нужно увидеть файл main.cpp или заголовочный файл, в котором описаны функции, которые я буду рад предоставить, просто я не думаю, что они не нужны с этой ошибкой,Однако я могу ошибаться.
#include "EncryptedString.h"
string decrypted;
EncryptedString::EncryptedString(string str)
{
string enCrypt = str;
set(enCrypt);
}
void EncryptedString::set(string str)
{
char chBase = 'A';
string enCry = str;
for (int i = 0; i < enCry.length(); i++)
{
char ch = enCry[i];
if ((enCry[i] < chBase || (enCry[i] > chBase + 25 && enCry[i] < tolower(chBase)) || enCry[i] > tolower(chBase + 25)) && enCry[i] != ' ')
{
enCry.erase(enCry.begin() + i);
}
else
{
if (enCry[i] = chBase + 25)
{
enCry[i] = 'A';
}
else if (enCry[i] = tolower(chBase) + 25)
{
enCry[i] = 'a';
}
else if (enCry[i] = ' ')
{
enCry[i] = ' ';
}
else
{
enCry[i] = ch + 1;
}
}
}
EncryptedString::encryption == enCry;
string decrypt = enCry;
for (int i = 0; i < decrypt.length(); i++)
{
char ch = decrypt[i];
if (decrypt[i] = 'A')
{
decrypt[i] = 'Z';
}
else if (decrypt[i] = 'a')
{
decrypt[i] = 'z';
}
else if (decrypt[i] = ' ')
{
decrypt[i] = ' ';
}
else
{
decrypt[i] = ch - 1;
}
}
decrypted = decrypt;
}
const string EncryptedString::get()
{
return decrypted;
}
const string EncryptedString::getEncrypted()
{
return EncryptedString::encryption;
}