【问题标题】:Multiple User Input Choices C++多用户输入选择 C++
【发布时间】:2013-10-06 16:08:23
【问题描述】:

我正在上 C++ 初级课程,现在我们正在学习函数。对于作业,我必须编写两个函数。应该采用三个表示时间(小时、分钟、秒)的 int 参数,并以秒为单位返回等效时间。第二个函数应采用一个 int 参数(秒)并以小时、分钟、秒格式返回等效时间。

我想知道是否有办法让用户选择输入多少个参数。例如,有没有一种方法可以提示“以秒或小时、分钟、秒的形式输入时间:”如果用户只输入一个输入调用一个函数,但如果他们输入三个调用另一个?

我意识到我可以先给用户一个选择,例如“输入 '1' 将秒转换为小时、分钟、秒。输入 '2' 将小时、分钟、秒转换为秒。”然后根据他们选择的内容运行单独的 cin 语句,但是有没有办法在没有用户额外输入的情况下做到这一点?

【问题讨论】:

  • 是的,它可以完成,但它涉及解析,这需要高级工具(如stringstream)或仔细的字符串切割。你准备好了吗?
  • @Beta 大概他已经为三参数函数这样做了。

标签: c++ cin


【解决方案1】:

是的,你可以很容易地做到这一点。提示用户输入。使用std::getline 将其整个输入读取为字符串。检查该字符串是否只包含数字(所以它是一个输入)或有空格或逗号之类的东西(表示它不止一个输入)。

转换适当数量的输入,并调用所选函数。

【讨论】:

    【解决方案2】:

    有。简单的方法是尝试以两种不同的格式解析字符串。如果一个失败,请尝试另一个。成功的格式指示您应该调用哪个函数。

    如果你给出每个函数可接受的输入的例子,也许我可以提供一个具体的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2017-09-23
      相关资源
      最近更新 更多