我应该成为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;
}
答案 0 :(得分:2)
您可以使用setfill()和setw()函数按照Niall建议的要求显示数据。
即。您可以使用以下方式显示时间。
void displayTime() {
cout << setfill ('0') << setw (2)<< hours << ":" << setw (2)<< minutes << ":" << setw (2)<< seconds << endl ;
}