我被要求在同一行输入一小时一分钟。但是当我输入小时时,它会自动转到一个新行,我只能在下一行输入分钟。但是,我想在同一行输入小时和分钟,它们之间有冒号。看起来应该是这样的
Time: 4:54
但我的代码产生了这个:
Time: 4
54
cout << "\n\tTime: ";
cin >> timeHours;
cin.get();
cin >> timeMinutes;
答案 0 :(得分:2)
您可以按以下方式执行此操作:
cin >> timeHours >> timeMinutes;
用户需要引入两个值,一个用于 变量a,另一个变量b。任何类型的空间都用于 分开两个连续的输入操作;这可能是一个空间, 标签或换行符。
答案 1 :(得分:2)
行为取决于用户提供的输入。
如果用户在同一行输入所有内容(例如14:53
)并仅在最后按Enter键,则代码可以按照您的意愿运行:
现在你可以有一个更好的控制,如果你读了一个字符串然后解释它的内容,例如在这里:
string t;
cout << "\n\tTime: ";
cin >> t;
stringstream sst(t);
int timeHours, timeMinutes;
char c;
sst>>timeHours>>c>>timeMinutes;
答案 2 :(得分:1)
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string input;
char symbol;
int hour, min;
cout << "Time: ";
getline(cin, input);
stringstream(input) >> hour >> symbol >> min;
return 0;
}
答案 3 :(得分:1)
应该是这样
#include <iostream>
using namespace std;
int main()
{ int hour,minute;
cin>>hour>>minute;
cout<<"Time:"<<hour<<":"<<minute;
return 0;
}