我正在为一个班级编写一个控制台程序。我对这项任务感到满意,但我想澄清一下什么是化妆品问题。程序将表单打印到控制台,并将光标放在表单上用户输入数据的位置。当用户在不输入数据的情况下按下回车键时会发生此问题。光标移到下一行的开头。如果用户在此之后输入数据,则程序正常运行。我想知道如果用户不输入任何数据我将如何重新定位光标。 这是读取其中一个值的代码:
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;
}
}
答案 0 :(得分:1)
我认为你应该检查输入操作的结果。
if(cin>>inputBudget.housing)
{
//input ok
}
else
{
//input failed
}