尝试了解输入验证循环

2023-12-10

在此输入验证 while 循环中,在调用我的控制台输出后显示 cerr。它显示为“输入费率:$无效费率”。 例如:

Enter rate: $750
Enter rate: $Invalid Rate. 

它与 do-while 循环的作用相同。有什么建议或帮助吗?

#include <iostream>

using namespace std;
#define max_rate 50
#define max_hours 80

int main() {

   // input validation loop (loops until input is valid)
   double rate, hours;

   cout << "enter rate: $";
   cin >> rate;
   cin.ignore();

   while (rate > max_rate){
       if (rate > max_rate){
           cerr << "Invalid Rate." << endl;
       }
       cout << "enter rate: $";
       cin >> rate;
   }

   do {
       if (hours > max_hours) {
           cerr << "Invalid hours." << endl;
       }
       cout << "enter hours: ";
       cin >> hours;

       }
   while (hours > max_hours);


   double pay = rate * hours;
   cout << "$" << pay << endl;
   return 0;

答案是,第一阅读,第二检查,第三声明。那是,

for (;;) { // the same as while(true)
    cin >> rate;
    if (rate is valid)
        break;
    cout << "Invalid rate\n";
}

并且不要混合cout and cerr没有理由。cout延迟输出,在内部缓冲区中累积数据,同时cerr立即打印。 (但cout刷新缓冲区cin使用;也可以打电话cout.flush [or cout << flush] 明确)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试了解输入验证循环 的相关文章

  • 读取大文件并制作字典

    我有一个大文件 我需要读取它并从中制作字典 我希望这一切能够尽可能快 然而我的Python代码太慢了 这是一个显示问题的最小示例 首先制作一些假数据 paste lt seq 20000000 lt seq 2 20000001 gt la
  • 何时使用 C++ 私有继承而不是组合?

    你能给我一个具体的例子吗 什么时候使用私有继承优于组合 就我个人而言 我将使用组合而不是私有继承 但在某些情况下 使用私有继承可能是特定问题的最佳解决方案 正在阅读C faq http www parashift com c faq lit
  • 如何在 ASP.NET Core 6.0 Web API 项目中启用 cors?

    在我的 ASP NET Core 6 0 Web API 项目中配置了 CORS 但预检请求收到 http 405 错误 换句话说 不允许使用 HTTP OPTION 看起来 cors 没有启用 我见过的例子config EnableCor
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • PartialView Action 正在调用自身

    我有 MVC 应用程序 它用于从主视图 ProductMaster 将 ProductAreaGrid 列表显示为 PartialView 并且它将在局部视图内将 CreateProductArea 作为 PartialView 我的 Gr
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • += 运算符在 C++ 中是如何实现的?

    这是我一直在思考的一个问题 但从未找到任何资源来说明这个问题的答案 事实上它不仅是为了 也适用于它的兄弟姐妹 即 等等 当然不是 考虑这个例子 int a 5 a 4 this will make a 9 现在考虑等效表达式 a a 4 T
  • 从二进制文件读取字节到 long int

    我有两个问题 我有二进制文件的数据 我想使用 read 函数读取前 8 个字节以签署 long int 但我不能 你知道我该怎么做吗 如何直接读取一块数据到字符串中 我可以像所示那样阅读吗 前任 ifstream is is open te
  • Web 文本编辑器中的 RTF 格式

    网络上是否有支持 RTF 格式文档输入的文本编辑器 我知道这对 webdev 来说有点奇怪 但我需要从数据库中读取 RTF 文档 并在基于 Web 的文本编辑器中对其进行编辑 然后将其存储回 RTF 中 在我在转换工具上投入太多资金之前 我
  • 使用 Javascript 从 HTML 表格输入单元格获取值

    我使用 Javascript 动态创建了一个 HTML 表 其中第一列由文本字段组成 第二列由输入字段组成 第三列由文本字段组成 效果很好 nrOfRows document getElementById myId value get nr
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 禁用实体框架的默认值生成(Code First)

    我数据库中有一个列不能为空 我想将其设置为默认值在数据库中 问题是实体框架似乎自己创建了一个默认值 例如 int gt 0 并且完全忽略了数据库中的默认值约束 有没有办法禁用实体框架的默认值 我发现您可以使用以下属性来装饰您的字段 Data
  • 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    我有一个预制的 Word 模板 其中有一个表格 我想打开它 然后在文档末尾添加 粘贴 另一个表格 问题是它不会转到文档的末尾 而是将新表格粘贴到原始表格的第一个单元格中 任何帮助将不胜感激 previous code copied a ta
  • 如何在 SQLite 中检查数据库是否存在 C#

    我目前正在用 C 编写一个应用程序 并使用 sqlite 作为嵌入式数据库 我的应用程序在启动时创建一个新数据库 但如何让它检查数据库是否存在 如果它确实存在 我如何让它使用它 如果不存在如何创建一个新数据库 这是我到目前为止所拥有的 pr
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • 在 lua 中加载 C++ 模块时出现“尝试索引字符串值”错误

    我正在尝试使用 lua 用 C 编写的函数 下面给出的是cpp文件 extern C include lua h include lauxlib h include lualib h static int add 5 lua State L
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • 是否可以检测流是否已被客户端关闭?

    简要介绍一下情况 我有一项服务可以通过套接字接收信息并发送回复 连接不安全 我想设置另一个可以为这些连接提供 TLS 的服务 这个新服务将提供单个端口并根据提供的客户端证书分发连接 我不想使用 stunnel 有几个原因 其中之一是每个接收
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码

随机推荐

  • Android ViewPager 中心项目更大

    我想创建一个 ViewPager 选定的中心项目比其他项目大 上一个和下一个项目的部分始终可见 我在用viewPager setPageMargin 20 使上一个和下一个项目的一部分可见 但是 如何使选定的中心项目比其他项目稍大一些 您可
  • 有没有我可以使用的 Subversion Web 客户端

    我想在 Linux 首选 或 Windows 上安装 svn Web 客户端 我只需要只读功能 不需要提交 并且我希望能够使用 diff 来比较修订版本 我的 svn 服务器在另一台机器上 因此 Web 服务器需要通过 http 访问它 也
  • 链接到更高级别文件夹中的文件

    我在提供比我的根文件夹级别更高的文档时遇到问题 a href home folder document docx Proposal a 在浏览器中 上面的内容被解释为 http localhost home folder document
  • 连接文件夹中的大量文件时参数列表太长

    这是一个将多个相同模式文件连接成一个大文件的命令 在文件夹中我有 77k 个文件 我得到Argument list too long 示例文件名是每分钟 cartreset 2014 05 08 01 12 log rm f tmp tem
  • Chrome 开发工具 - “大小”与“内容”

    在 Chrome 开发工具的 网络 选项卡中查看有关样式表的信息时 一列指定 大小 和 内容 有人能解释一下这两个数字之间的区别吗 在某些页面上 数字很接近 而在其他页面上 数字则相差相当大 大小 是线路上的字节数 内容 是资源的实际大小
  • ARKit – 如何显示来自放置在 SCNPlane 上的虚拟 SCNCamera 的源?

    我使用 ARKit 和 SceneKit 将一些对象放入 AR 空间中 效果很好 现在我想添加一个额外的摄像机 SCNCamera 该摄像机放置在场景中的其他位置 由公共 SCNNode 连接和定位 它旨在从另一个 固定 角度向我展示当前场
  • 在签入 TFS 之前是否必须执行“获取最新版本”,以免覆盖/丢失代码?

    我的团队中有一个反复出现的问题让我抓狂 人们声称 Team Foundation Server 中的某些签入会覆盖以前的签入 现有代码 他们声称你总是需要做Get Latest Version在办理登机手续之前 换句话说 运行获取最新信息是
  • 嵌入式Kafka:KTable+KTable leftJoin产生重复记录

    我来寻求神秘的知识 首先 我有两对主题 每对中的一个主题融入另一个主题 后面的主题形成两个KTable 用于KTable KTable leftJoin 问题是 当我向任一 KTable 生成一条记录时 leftJoin 会生成三个记录 我
  • 通过javascript获取网页文本[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 是否有 JavaScript 语句可以从网页中检索内容 文本 你可以这样做Ranges
  • 可以在 SharedPreferences 中保存 JSON 数组吗?

    我有一个需要保存的 JSON 数组 我正在考虑序列化它 但是将它保存为 SharedPreferences 中的字符串 然后在我需要读入它时重建它会更好吗 Java 中的 JSON 对象并未实现开箱即用的可序列化 我见过其他人扩展了该类以允
  • 为什么边框会导致 div 溢出容器?

    我有一个部分设置为固定宽度 其内部有一个 100 宽度的 div 边框为 5 像素 看起来不错 但您可以看出包含的 div 有点偏离中心 而且它不会没有边框 我需要将其与客户端组件相匹配 代码相当简单 info max width 980p
  • 我可以在Xcode模拟器中测试加速度计效果吗?

    我正在开发一个管理图像视图的 alpha 属性的应用程序 当用户移动手机时 Alpha 属性可以增加 减少 我在这里看到了一些关于使用 UIAccelerometer 子类的内容 谁能帮我做到这一点 以便我可以在模拟器上测试它 谢谢 您不能
  • 将视图添加到操作表中

    我可以将自定义 UIViewController 添加到 ActionSheet 中吗 thanks 终于我找到了它 我在 UIActionSheet 中添加了一个 UIViewController 子类的视图 我在单独的文件中创建了一个视
  • 如何解决“以下软件包具有未满足的依赖关系”

    我正在使用这个脚本来安装基本软件 但由于网速缓慢而不得不中断 现在当我击中 sudo apt get install npm 我收到以下错误 yask123 yaskslaptop sudo apt get installed npm E
  • GCC,比较使用 -O2 和使用它打开的所有优化标志的效果

    From gcc5 4文档 它说 O2 打开 O 指定的所有优化标志 它还打开以下优化标志 f线程跳转 falign 函数 falign 跳跃 falign 循环 falign 标签 fcaller 保存 f越野跳跃 fcse follow
  • Linq to sql,在 datagridview 中过滤结果

    我有一个非常简单的数据库 我正在使用 linq to sql 我有一个 datagridview 来显示表的内容 我希望用户能够过滤出现在 datagridview 中的行 如果可能的话 无需对数据库进行另一个查询 我的资源确实很少 因此解
  • UICollectionViewCell 内带有 UITableView 的自定义单元格

    我有一个用于 UICollectionView 的自定义 UICollectionViewCell 我已将此自定义类标记为 UITableViewDataSource 和 UITableViewDelegate 以便将 UITableVie
  • 需要用 C 语言构建简单的 DNS 解析器 [重复]

    这个问题在这里已经有答案了 可能的重复 如何用 C C 构建自定义简单 DNS 服务器 正如标题所说 我需要用 C 语言构建一个简单的 dns 解析器 不是 C 我在互联网上查找了一些教程来帮助我入门 但大多数都找到了 C 想知道是否有人知
  • EventSource .net 4.0 生成清单

    我一直在尝试在 net 4 0 中使用 ETW 我已经开始使用 Microsoft EventSource Library 1 0 4 beta https www nuget org packages Microsoft Diagnost
  • 尝试了解输入验证循环

    在此输入验证 while 循环中 在调用我的控制台输出后显示 cerr 它显示为 输入费率 无效费率 例如 Enter rate 750 Enter rate Invalid Rate 它与 do while 循环的作用相同 有什么建议或帮