C言語でのカレンダープログラミングについて。
今、C言語でカレンダーについてのプログラミングを行っています。
まず月を入力し表示させる。
その年がうるう年かどうか判定させる。
日曜~土曜を表示し、指定した月の日数を曜日に合わせて表示させる。
2008年1月1日は火曜日。
という事実を利用してよい。
という条件で、うるう年かの判定はあるものの年は2008年で固定です。
曜日、指定した月の日数を出すところまでいきましたが。
曜日に合わせて出す事ができません。
今は1月に合わせて、1日が火曜日のところに出るように配置してます。
が、次の週になったときにどのように改行指定すればいぃのかわりません。
また、来月以降の月初めの曜日指定もわからないです。
途中までのプログラムはこれです。
醜いかもしれませんが。
#include <stdio.h>
int main(void)
{
int year=2008;
int month,hantei=0,a,b,c;
int uru[12]={31,29,31.30,31,30,31,31,30,31,30,31};/*うるう年の時の各月ごとの日数*/
int normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};/*通常の年の各月ごとの日数*/
printf("表示させる月を入力してください。:");
scanf("%d",&month);
if(year%4==0||year%100==0||year%400==0)
{
hantei=1;/*その年がうるう年かどうかを判定し、うるう年なら「hantei」に「1」が代入*/
}
if(hantei==1)/*うるう年の場合。*/
{
printf("%d年 %d月\n",year,month);
printf("%d日\n",uru[month-1]);
}
else/*通常の年の場合。*/
{
printf("%d年 %d月\n",year,normal[month-1]);
printf("%d\n",normal[month-1]);
}
printf("日 月 火 水 木 金 土\n");/*曜日*/
if(hantei==1)/*うるう年の場合*/
{
for(b=0;b<=7;b++)
{
printf(" ");/*火曜日のところまでスペースを空ける*/
}
for(c=1;c<=uru[month-1];c++)/*日数表示*/
{
printf("%2d ",c);
}
}
return(0);
}
まだあまりC言語に詳しくないので、簡単に説明できる範囲で御願いします。
説明がわかりにくいかもしれませんが、すいません。
お礼
できました!!!!! どうもありがとうございました! プログラム言語って奥が深いですよね! でも、出来ると凄く嬉しい気持ちになれますよね^^ ありがとうございました!