Я пишу консольную программу для класса. Я удовлетворил задание, но хочу прояснить, что является главным образом косметической проблемой. Программа печатает форму на консоли и помещает курсор в место в форме, где пользователь вводит данные. Проблема возникает, когда пользователь нажимает клавишу ввода без ввода данных. Курсор переходит к началу следующей строки. Если пользователь вводит данные после этого, программа работает правильно. Я хочу знать, как я могу переместить курсор, если пользователь не вводит никаких данных. Это код, который считывает одно из значений:Как я могу переместить курсор, если пользователь не вводит данные?
void getHousing(HANDLE screen, MonthlyBudget &inputBudget) {
placeCursor(screen, HOUSING_ROW, ACTUAL_COL);
cin >> inputBudget.housing;
while (!validateEntry(screen, inputBudget.housing)) {
placeCursor(screen, HOUSING_ROW, ACTUAL_COL);
cout << SEVEN_SPACES << endl;
placeCursor(screen, HOUSING_ROW, ACTUAL_COL);
cin >> inputBudget.housing;
}
}
Я попробую это, но что делать, если вход не работает? – user3017428
что? входной сбой - проверка eof, состояние отказа и действие соответственно. – Amador
также вы можете сделать, если пользователь нажимает enter, строка, которую вы ... будет пустой. это вы можете использовать для обнаружения и исправления ситуации. – Amador