c++ - 多用户输入选择 C++

标签 c++ cin

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

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

我意识到我可以先给用户一个选择,比如“输入‘1’将秒转换为小时、分钟、秒。输入‘2’将小时、分钟、秒转换为秒。”然后根据他们的选择运行一个单独的 cin 语句,但是有没有一种方法可以做到这一点而无需用户进行额外的输入?

最佳答案

是的,您可以相当轻松地做到这一点。提示用户输入。使用 std::getline 将其整个输入作为字符串读取。检查该字符串是否仅包含数字(因此它是一个输入)或是否包含空格或逗号之类的内容(表明它是多个输入)。

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

关于c++ - 多用户输入选择 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19100254/

相关文章:

c++ - 为什么将内联函数def放在其他包含内联函数声明的头文件的头文件中是链接错误?

c++ - 程序在删除结构中的指针数组时崩溃

c++ - 我使用什么类型的代码来允许无限输入?

c++ - cin.get() 获取太多

c++ - 当我不需要 C++ 计算时如何忽略某些输入?

C++ cin char 逐个符号读取

c++ - 为什么 virtual void test()=00 有效但 virtual void test()=+0 和 virtual void test()=-0 无效?

c++ - 如何在头文件库中定义(非方法)函数

c++ - C/C++ 查找指针

c++ - 将 C++ stdin 从键盘更改为另一个设备