Я работаю над проблемой домашней работы, которая требует, чтобы я собрал вводимые пользователем данные, чтобы заполнить двумерный массив c-строк длиной не более 20 предложений и максимум 81 символ в каждом. Хотя я понимаю, как инициализировать массив, я не могу перестать собирать входные данные от пользователя рано, и вынужден постоянно нажимать Enter, чтобы завершить программу.
int main()
{
char sentences[20][81];
cout << "Enter up to 20 sentences - when done, Press ENTER: ";
input(sentences);
cout << "\nPress any key to continue...";
_getch();
return 0;
}
void input(char str[20][81]) //This is our function to collect user sentence input
{
for (int i = 0; i < 20; i++)
{
cin.getline(str[i], 81, '\0');
if (str[i] == "\0")
break;
}
}
Я ожидал, что cin.getlineполучить сбор каждой строки (максимум 81 символ, включая ноль) от пользователя, а затем, увидев нажатие клавиши ввода, собрать следующую строку, останавливаясь только при вводе 20 строк или при нажатии дважды на строку ввода (делая все, что бы str [i]== '\ 0').