获取键盘输入
#include <iostream>
#include <limits>
bool enter_state(int &pos)
{
unsigned int userInput;
std::cout << "[info] 请选择: 0.主驾, 1.副驾, 2.后排" << std::endl;
std::cout << "[info] 请输入:";
std::cin >> userInput;
if (std::cin.fail())
{
std::cin.clear(); // 清除错误状态
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略之前的输入缓冲
std::cout << "Invalid input. Please enter an integer." << std::endl;
return false;
}
if (userInput < 3)
{
pos = userInput;
return true;
}
return false;
}
bool enter_feel(int &pos)
{
unsigned int userInput;
std::cout << "[info] 请输入驾驶id[" << pos << "]的热感受:";
std::cin >> userInput;
if (std::cin.fail())
{
std::cin.clear(); // 清除错误状态
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略之前的输入缓冲
std::cout << "Invalid input. Please enter an integer." << std::endl;
return false;
}
std::cout << "驾驶id[" << pos << "]的热感受:"<<userInput << std::endl;
return true;
}
int main()
{
int position = 0;
while (true)
{
if (enter_state(position))
{
while (!enter_feel(position))
{
/* code */
}
}
}
return 0;
}
红色方框内代码块必须紧跟随,中间插入其他代码,无效