【发布时间】:2014-12-23 19:25:19
【问题描述】:
我应该把它设为string 吗?或者有一个简单的方法可以留在int ?
class TimeFixer {
private:
int seconds=0;
int minutes=0;
int hours=0;
public:
TimeFixer() {
cout << "Enter hours,minutes,seconds: " ;
cin >> hours;
cin >> minutes;
cin >> seconds;
}
void fixTime() {
while (seconds >= 60) {
seconds -= 60;
minutes++;
}
while (minutes >= 60) {
minutes -= 60;
hours++;
}
while (hours >= 24) {
hours -= 24;
}
}
void displayTime() {
cout << hours << ":" << minutes << ":" << seconds << endl;
}
};
int main()
{
int value = 0;
cout << "Enter value: " ;
cin >> value;
TimeFixer *fix1;
fix1 = new TimeFixer[value]();
for (int i = 0 ; i < value ; i++) {
fix1[i].fixTime();
fix1[i].displayTime();
}
return 0;
}
【问题讨论】:
-
setw(2)和setfill('0')?更多代码示例可能会有所帮助。 -
有点不清楚你在问什么。字符串“23:7:42”从何而来?也许你应该向我们展示你的代码。
-
我从用户那里获取时间为 INT 小时分钟等。
-
那么@Niall 的评论才是正确的做法。
-
以及如何在我的代码中修复它