У меня проблема с моей программой на C++. Я переформатирую и показываю слова, которые пользователь вводит в консоль. Если пользователь вводит: Привет, я bob. Пользователь будет нажимать клавишу ввода после ввода bob в консоль. Я переформатирую это и перепечатаю его в новом формате. Проблема в том, что я не хочу отображать сообщение для большего ввода, пока не будут введены все слова на этой консольной линии. В текущем цикле я либо выводит запрос на ввод после каждого слова, либо вообще не отображает его. Это зависит от того, включаю ли я приглашение или нет. Мне нужно сделать цикл цикла каждым словом, вывести его и остановить после последнего слова. Что такое булевский параметр? Я использую свой код для справки.C++, cin до тех пор, пока больше не будет введено в строке с использованием цикла while
int _tmain(int argc, _TCHAR* argv[])
{
int b;
string input;
string output ;
int check = 1;
while (check){
cout << "Enter in one or more words to be output in ROT13: " << endl;
cin >> input;
while(my issue is here){
const char *word = input.c_str();
for (int i = 0; i < input.length(); i++){
b = (int)word[i];
if (b > 96){
if (b >= 110){
b = b - 13;
}
else {
b = b + 13;
}
output += ((char)b);
}
else
{
if (b >= 78){
b = b - 13;
}
else {
b = b + 13;
}
output += ((char)b);
}
}
cout << output << endl;
output = "";
cin >> input;
}
check = 0;
}
return 0;
}
@NeilKirk Я никогда не говорил while (eof) –
Я сказал «до конца ввода» или «eof» –
Вы можете делать freopen («filename», «r», m stdin); для перенаправления ввода. –