首页 > 后端开发 > C++ > 如何在 C 中正确验证双用户输入?

如何在 C 中正确验证双用户输入?

Susan Sarandon
发布: 2024-12-01 20:44:14
原创
602 人浏览过

How to Properly Validate Double User Input in C  ?

在 C 中验证用户输入为 Double

在处理数值数据时,确保用户输入的准确性至关重要。本文探讨了如何在 C 中有效地将用户输入验证为双精度型。

理解问题:

提供的代码尝试将用户输入验证为双精度型。但如果输入无效,则无法提示后续输入,导致错误信息无限循环。

解决方案:

针对此问题,有必要清除错误状态并丢弃之前输入的任何无效字符。这可以使用以下代码来实现:

while (1) {
  if (cin >> x) {
      // valid number
      break;
  } else {
      // not a valid number
      cout << "Invalid Input! Please input a numerical value." << endl;
      cin.clear();
      while (cin.get() != '\n') ; // empty loop
  }
}
登录后复制

在此修改后的代码中:

  • cin.clear():清除错误状态。
  • while (cin.get() != 'n') ;: 丢弃上一行输入的所有无效字符。此循环一直持续到遇到换行符 ('n'),从而有效清空输入缓冲区。

以上是如何在 C 中正确验证双用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板