前提・実現したいこと
万年カレンダーを作成したくてある万年カレンダーを参考にしている時の疑問です
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
if ( sw <= ew ){
ew = ew - sw + 28 ;
}else{
ew = 35 - sw + ew ;
}
ここの部分のコードがなんの役割をしているのか。
これは公式なのか。
ew,swはなんのことを表しているのか。
がわからなくて困っています
エラーメッセージ
該当のソースコード
C
1コード 2#include <stdio.h> 3 4int week(int y,int m,int d) 5{ 6 if ( m < 3 ){ //1月を13,2月を14として計算するため 7 m += 12 ; 8 y -- ; 9 } 10 return (y+y/4-y/100+y/400+(m*13+8)/5+d)%7 ; //ツェラーの公式 11} 12 13int main() 14{ 15 int y,m,d,sw,ew ; 16 printf("西暦を入力してください : "); //西暦の入力 17 scanf("%d",&y); 18 printf("月を入力してください : "); //月の入力 19 scanf("%d",&m); 20 sw = week(y,m,1); 21 ew = week(y,m+1,1); 22 23 if ( sw <= ew ){ 24 ew = ew - sw + 28 ; 25 }else{ 26 ew = 35 - sw + ew ; 27 } 28 printf("\n"); 29 printf("%4d / %d\n",y,m); //西暦と月の表示 30 printf("SUM MON TUE WED THU FRI SAT"); //曜日の表示 31 for (d=0 ;d<37 ;d++){ 32 if (d % 7 == 0){ 33 printf("\n"); //(土曜日まで(週の終わり)きたら改行) 34 } 35 if ( d < sw || d >= ew+sw ){ 36 printf(" "); 37 } else { 38 printf("%3d ",d-sw+1); //日にちの表示 39 } 40 } 41 printf("\n"); 42 return 0 ; 43}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
初めての投稿なので色々間違っていたらすみません。
ここにより詳細な情報を記載してください。
ソースコードは<code>押して、'''の枠の中に貼り付けてください
回答2件
あなたの回答
tips
プレビュー