如果用户没有输入数据,我如何重新定位光标

how I can reposition the cursor if the user enters no data?

本文关键字:何重新 定位 光标 数据 用户 输入 如果      更新时间:2023-10-16

我正在为一个类编写控制台程序。我已经完成了任务,但我想澄清一下主要是表面上的问题。该程序将表单打印到控制台,并将光标放置在表单上用户输入数据的位置。当用户在没有输入数据的情况下按下回车键时,就会出现问题。光标移到下一行的开头。如果用户在此之后输入数据,则程序正常工作。我想知道如果用户没有输入数据,如何重新定位光标。这是读取其中一个值的代码:

  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;
     }
 }

我认为您应该检查输入操作的结果。

if(cin>>inputBudget.housing)
 {
          //input ok 
 }
else 
  {
      //input failed 
  }