2014-02-25 89 views
-3

對於編程任務,我需要顯示假想咖啡廳打開的時間。在週末,咖啡廳比一週之後開放一個半小時,但在同一時間關閉。使用強制轉換和setfill將int值更改爲時間

用戶輸入開放時間,關閉時間以及週末晚些時候開放的時間。該計劃應該計算並顯示咖啡廳的時間表。到目前爲止,我的程序可以完成所有這些,但我不知道如何將常規整數(如845)轉換爲時間格式,如8:45。

我的老師建議使用cast和setfill。我已經嘗試過對兩者進行研究,但我不確定它在程序中的應用。那麼,如何將整數(例如845)轉換爲時間格式(例如8:45)呢?

+1

你可以閱讀有關編輯格式化你的問題,然後點擊橙色的?爲了便於閱讀,請仔細閱讀並格式化您的代碼。 – crashmstr

+0

謝謝,我剛剛編輯它。如果您有任何建議,請告訴我。 – user3352763

回答

0

我想我們可以假設整數總是在0到2400之間,所以我們最多隻對它的四位數感興趣。

一種方法是通過除法和模訪問整數的部分。讓我們1245(12:45)作爲例子:

100分之1245= 12(總是向下舍入)

1245%100 = 45(< modulo =操作者)

因此,通過使用除法和模數,我們可以分別提取前兩個數字(=小時)和後兩個數字(=分鐘)。

其餘很簡單:

int time = 1245; //your time 
int hours = time/100; 
int minutes = time % 100; 

//print it 
std::cout << hours << ":" << minutes << std::endl; 

結果:12:45

+0

啊,好吧,現在有道理。非常感謝! :) – user3352763