我在C ++课程的开头,现在我们正在考虑功能。对于作业,我必须写两个函数。应该使用三个表示时间(小时,分钟,秒)的int参数,并以秒为单位返回等效时间。第二个函数应该使用一个int参数(秒)并以小时,分钟,秒格式返回等效时间。
我想知道是否有办法让用户可以选择输入多少个参数。例如,有没有一种方法可以提示“输入一个时间以秒或小时,分钟,秒形式:”,如果用户只输入一个输入调用一个功能,但如果他们输入三个调用另一个?
我意识到我可以先给用户一个选择,例如“输入'1'可以从秒转换为小时,分钟,秒。输入'2'可以将小时,分钟,秒转换为秒。”然后根据他们的选择运行一个单独的cin语句,但有没有办法在没有用户额外输入的情况下执行此操作?
答案 0 :(得分:1)
是的,你可以相当容易地做到这一点。提示用户输入。使用std::getline
以字符串形式读取整个输入。检查该字符串是否仅包含数字(因此它是一个输入)或者具有空格或逗号(表示它是多个输入)。
转换适当数量的输入,并调用所选的函数。
答案 1 :(得分:0)
有。简单的方法是尝试以两种不同的格式解析字符串。如果一个失败,请尝试另一个。成功的格式表示您应该调用哪个函数。
如果您举例说明每个函数的可接受输入,也许我可以提供一个具体的例子。