how do i make this repeat? my way is not working...
Code:
#include<stdio.h>
#include<stdlib.h>
// Global Declarations
int MonthDays[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char *months[]=
{
" ",
"\n\n\nJanuary",
"\n\n\nFebruary",
"\n\n\nMarch",
"\n\n\nApril",
"\n\n\nMay",
"\n\n\nJune",
"\n\n\nJuly",
"\n\n\nAugust",
"\n\n\nSeptember",
"\n\n\nOctober",
"\n\n\nNovember",
"\n\n\nDecember"
};
int yearUsed(void)
{
int year;
printf("Please enter a year : ");
scanf("%d", &year);
return year;
}
int firstDay(int year)
{
int findDay;
int a;
int b;
int c;
a = (year - 1.)/ 4.0;
b = (year - 1.)/ 100.;
c = (year - 1.)/ 400.;
findDay = (year + a - b + c) %7;
return findDay;
}
int Leapyear(int year)
{
if(year% 4 == 0 && year%100 != 0 || year%400 == 0)
{
MonthDays[2] = 29;
return 1;
}
else
{
MonthDays[2] = 28;
return 0;
}
}
void calendar(int year, int findDay)
{
int month, day;
for ( month = 1; month <= 12; month++ )
{
printf("%s %d", months[month], year);
printf("\n\nSun Mon Tue Wed Thu Fri Sat\n" );
// First Day
for ( day = 1; day <= 1 + findDay * 5; day++ )
{
printf(" ");
}
// Print Month
for ( day = 1; day <= MonthDays[month]; day++ )
{
printf("%2d", day );
// If day before Sat or start Sun
if ( ( day + findDay ) % 7 > 0 )
printf(" " );
else
printf("\n " );
}
// Align month
findDay = ( findDay + MonthDays[month] ) % 7;
}
}
int main(void)
{
//Local Declarations
char ans;
int year, findDay, leapyear;
do{
year = yearUsed();
findDay = firstDay(year);
Leapyear(year);
calendar(year, findDay);
printf("\n");
printf("y to continue\n");
scanf("%s", ans);
} while( ans[0] == 'y' || ans[0] == 'Y' );
} // Main