0

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

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

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

4

2 回答 2

2

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

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

于 2013-09-30T17:35:03.557 回答
0

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

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

于 2013-09-30T17:34:55.330 回答