- ベストアンサー
C言語でカレンダーを表示するプログラムを作成する方法
- C言語でカレンダーを表示するプログラムを作成する方法について教えてください。
- 現在、カレンダーを表示するプログラムを作成中ですが、年と月を入力したらその年のカレンダーが出るようにしたいです。for文を使って書く必要がありますか?助けてください。
- C言語でカレンダーを表示するプログラムを作成する方法について教えてください。ユーザが年と月を入力すると、その年その月のカレンダーが表示されるプログラムを作りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
現状は「年」と「月」をユーザに入力させるワケですよね? で、今度は「年」だけ入力させて、「月」は1~12を自動で 処理させたい、という事でOKでしょうか? だとすれば、 ユーザの代わりにプログラム側で12回の繰り返し処理を すれば完成です。 ※※※ 変更点:main()の中の下記部分を改ざん ※※※ printf ("Year?: "); scanf ("%d", &year); /* printf ("Month?: "); */ 月の入力は不要なので /* scanf ("%d", &month); */ コメントアウトしちゃう for(month = 1; month <= 12; month++) { dow = dayofweek(year, month); dim = daysinmonth(year, month); showcal(dow, dim); } 実は自分は今、提示されたソースコードをほとんど見ずに 答えています(^^; ですが、それが可能なのは、 「年と月を受け取り1ヶ月分を表示する処理」が既に 完成しているからです。質問者様の作った各関数が正常に 動作するならば、これだけでOKの「はず」です。 実際に動作させてみて、細かい部分はご自身で調整して みて下さい。苦手意識を持つ事はありません、ここまで ご自身で作れたのですから大丈夫!必ず完成できますよ。
その他の回答 (2)
- SaKaKashi
- ベストアンサー率24% (755/3136)
int rscanf ; printf ("Year?: "); scanf ("%d", &year); printf ("Month?: "); rscanf = scanf ("%d", &month); if ( EOF == rscanf || 0 == rscnaf || 0 == month ) { int mm ; for ( mm = 1 ; mm < 12 ; mm+ ) { printf("%d %d",year,mm); dow = dayofweek(year, mm); dim = daysinmonth(year, mm); showcal(dow, dim); } else { dow = dayofweek(year, month); dim = daysinmonth(year, month); showcal(dow, dim); }
- SaKaKashi
- ベストアンサー率24% (755/3136)
int rscanf ; printf ("Year?: "); scanf ("%d", &year); printf ("Month?: "); rscanf = scanf ("%d", &month); if ( EOF == rscanf || 0 == rscnaf || 0 == month ) { int mm ; for ( mm = 1 ; mm < 12 ; mm+ ) { printf("%d %d",year,mm); dow = dayofweek(year, mm); dim = daysinmonth(year, mm); showcal(dow, dim); } else { for ( mm = 1 ; mm < 12 ; mm+ ) { dow = dayofweek(year, month); dim = daysinmonth(year, month); showcal(dow, dim); }
お礼
ありがとうございます! できました! ソースコード見ずにできるなんてすごいです! 私もはやくその段階にまで届けばいいなぁ……