在C++

2013-02-01 106 views
0

我想X天,總金額轉換成C++周X量轉換幾天到幾個星期,這是我所看到的在網上完成,而不是工作:在C++

int weeks = ((days % 365)/7); 

對於例如,如果days = 8,那麼技術上它是在第2周,所以int周應該= 2.同樣的15天應該輸出3.

謝謝。

+2

你有沒有試着寫自己的代碼,而不是在網上找到它? – GManNickG

+1

你試過添加1嗎? –

回答

9

假設days的整數類型,你可以使用:

int weeks = (days + 6)/7 

這工作,因爲整數除法截斷小數部分。

+0

我過於複雜的事情,謝謝! – Goose

+2

'days'必須是'int'或'long int'或其他'int's,它們不能包含分數並且只能包含整數。 –

+0

@afriza,我會說這是一個安全的賭注,這是一個完整的類型。我會嚴肅質疑某人使用浮點數來表示天的完整性:-) – paxdiablo

0

你只需要添加一個,如果有剩下

int weeks = days/7 + (days % 7 ? 1 : 0); 
2

整數除法將截斷結果天。爲了獲得週數,您需要採取該部門的ceil。如果你只想要那些在一年內代表數週的日子,那麼你保留mod,否則不要。

換句話說:

int weeks = (int)ceil(days/7.0); 

http://www.cplusplus.com/reference/cmath/ceil/