• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で分からないところがあるのですが……)

C言語でカレンダーを表示するプログラムを作成する方法

このQ&Aのポイント
  • C言語でカレンダーを表示するプログラムを作成する方法について教えてください。
  • 現在、カレンダーを表示するプログラムを作成中ですが、年と月を入力したらその年のカレンダーが出るようにしたいです。for文を使って書く必要がありますか?助けてください。
  • C言語でカレンダーを表示するプログラムを作成する方法について教えてください。ユーザが年と月を入力すると、その年その月のカレンダーが表示されるプログラムを作りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hiropuri
  • ベストアンサー率55% (24/43)
回答No.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の「はず」です。 実際に動作させてみて、細かい部分はご自身で調整して みて下さい。苦手意識を持つ事はありません、ここまで ご自身で作れたのですから大丈夫!必ず完成できますよ。

noname#160322
質問者

お礼

ありがとうございます! できました! ソースコード見ずにできるなんてすごいです! 私もはやくその段階にまで届けばいいなぁ……

その他の回答 (2)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

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)
回答No.1

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); }