Возникли проблемы с некоторым кодом, и я не могу докопаться до сути. Этот код:
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;
}
Если я ввожу '1' при первом выборе cin >>, я захожу в encode(), после чего ввод любого текста заставляет программу вернуться к while, выполнить system("cls"), а затем сразу вернуться назад на «Введите текст для шифрования». вниз в кодировании().
Любая помощь? Я не знаю.
getchar()
в концеencode()
? - person Arun   schedule 06.02.2013