C ++で合計X日をX週間に変換しようとしていますが、これはオンラインで見たもので、機能していません:
int weeks = ((days % 365) / 7);
たとえば、days = 8 の場合、技術的には 2 週目にあるため、int 週は = 2 になるはずです。同様に、15 日は 3 を出力するはずです。
ありがとう。
C ++で合計X日をX週間に変換しようとしていますが、これはオンラインで見たもので、機能していません:
int weeks = ((days % 365) / 7);
たとえば、days = 8 の場合、技術的には 2 週目にあるため、int 週は = 2 になるはずです。同様に、15 日は 3 を出力するはずです。
ありがとう。
days
が整数型であると仮定すると、次を使用できます。
int weeks = (days + 6) / 7
これは、整数除算が小数部分を切り捨てるために機能します。
整数除算は結果を切り捨てます。ceil
週数を取得するには、部門を取る必要があります。1 年のうちの週を表す日だけが必要な場合は、mod を保持します。
言い換えると:
int weeks = (int)ceil(days / 7.0);
日数が残っている場合は、1 つ追加するだけです
int weeks = days / 7 + (days % 7 ? 1 : 0);