一些代码遇到了一些麻烦,我无法深入了解它。这段代码:
int main()
{
int choice;
while (choice != -1)
{
system("cls");
std::cout << "Main Menu: " << std::endl
<< " 1. Encode." << std::endl
<< " 2. Decode." << std::endl
<< "-1 to exit." << std::endl;
std::cin >> choice;
switch (choice)
{
case 1:
encode();
break;
case 2:
decode();
break;
case -1:
break;
}
}
getchar();
return 0;
}
void encode()
{
std::string plainText;
std::string encText = "Test";
std::cout << "Enter text to be encrypted.\n";
getline(std::cin, plainText);
for (int x = 0; x < plainText.length(); x++)
{
//encText += plainText.substr(x, x + 1);
}
std::cout << encText;
getchar();
return;
}
如果我在第一个 cin >> 选项中输入 '1',我会进入 encode(),一旦在那里,输入任何文本都会导致程序返回到 while,执行 system("cls"),然后立即跳回到“输入要加密的文本”。在编码()中。
有什么帮助吗?我一无所知。