一日進めてるプログラムです(問題ばかりなんで今のところは年は進みません)
なぜかどの月でも30日で終わってしまいます、
(知識は明解c言語入門を読んだばかりのところです)
===============================================
#include<stdio.h>
/*一日進める関数*/
void increment_date(int *y, int *m, int *d)
{
if ((++(*d)) > 28)
{
if (*d == 31) {
(*m)++; *d = 1;
}
else if(*d == 30 && ((*m == 4||*m == 6)||*m == 11)) {
(*m)++; *d = 1;
}else if(*d == 28){(*m)++; *d = 1;}
}
}
int main()
{
int y, m, d,ok;
puts("年、月、日の順番で入力してください");
scanf("%d", &y);
scanf("%d", &m);
scanf("%d", &d);
puts("一日進めます、いいですね?よかったら1だめなら0");
scanf("%d", &ok);
while (ok)
{
increment_date(&y, &m, &d);
printf("今日は%d年%d月%d日です。\n", y, m, d);
puts("一日進めます、いいですね?よかったら1だめなら0");
scanf("%d", &ok);
}
return 0;
}