2017-03-21 89 views
0

我的函數將秒數轉換爲分鐘數。問題是,如果我有一個餘數小於10的數字,它只會給餘數前餘數爲0的餘數。如何將秒數轉換爲分鐘數C++

例如,368秒只想轉向6:8

360將轉向6:0

361至6:1

我想368秒轉向6:08

360到6:00

361至6:01

void toMinutesAndSeconds(int inSeconds, int &outMinutes, int &outSeconds) { 
    outMinutes = inSeconds/60; 
    outSeconds = inSeconds % 60; 
} 

編輯:我輸出到一個文本文件

在先進的感謝!

+0

你輸出分/秒安慰?如果是這樣,你怎麼做? –

+0

你想用零填充數字。搜索零填充。 (或前綴) –

+0

[如何使用cout <<運算符時如何使用前導零填充int](http://stackoverflow.com/questions/1714515/how-can-i-pad-an-int -with-leading-zero-when-using-cout-operator) – Zze

回答

2

這是你如何輸出你的值的問題。這個價值本身並沒有「前導零」。

#include <iostream> 
#include <iomanip> 

void toMinutesAndSeconds(int inSeconds, int &outMinutes, int &outSeconds) 
{ 
    outMinutes = inSeconds/60; 
    outSeconds = inSeconds % 60; 
} 

int main() 
{ 
    int minutes = 0; 
    int seconds = 0; 
    toMinutesAndSeconds(368, minutes, seconds); 
    std::cout << std::setfill('0') << std::setw(2) << minutes << ":" 
     << std::setfill('0') << std::setw(2) << seconds; 
    return 0; 
} 

打印

06:08 
相關問題