Why my program always print out sunday?
What's wrong with it and how to fix it?
help please.......THANK
#include<stdio.h>
/****** Global Declarations ******/
int month;
int day;
int year;
int db;
int dotw;
int dob;
int daydiv;
/****** Prototype Declarations ******/
void getDATA (int month, int day, int year);
void calcDOTW (int year, int dotw);
void calcLEAPYEAR (int year, int daydiv);
void calcMONTH (int day, int daydiv, int dob, int dotw, int month, int db);
void calcDOB (int dob, int db);
/****** MAIN ******/
int main()
{
getDATA (month, day, year);
calcDOTW (year, dotw);
calcLEAPYEAR (year, daydiv);
calcMONTH (day, daydiv, dob, dotw, month, db);
calcDOB (dob, db);
return 0;
}
/****** getDATA ******/
void getDATA (int month, int day, int year)
{
printf("Enter the birth date in MM-DD-YYYY format: ");
scanf("%d-%d-%d", &month, &day, &year);
}
/****** Calculate day of Dec. 31st of the last year ******/
void calcDOTW (int year, int dotw)
{
dotw = (((year - 1) * 365) + ((year - 1) / 4) - ((year -1) / 100) + ((year -1) / 400)) % 7;
return;
}
/****** Determine if the year is a LEAP YEAR ******/
void calcLEAPYEAR (int year, int daydiv)
{
daydiv = 0;
if((!(year % 4) && (year % 100)) || !(year % 400))
if(month > 2 || month == 2 && day > 28)
daydiv += 1;
else
daydiv = daydiv;
else
daydiv = daydiv;
}
/****** Sum up the days in all the months ******/
void calcMONTH (int day, int daydiv, int dob, int dotw, int month, int db)
{
dob = 0;
switch (month)
{
case 1: daydiv = (day) / 7;
dob = (day) - (daydiv * 7) + dotw;
break;
case 2: daydiv = (day + 31) / 7;
dob = (day + 31) - (daydiv * 7) + dotw;
break;
case 3: daydiv = (day + 31 + 28) / 7;
dob = (day + 31 + 28) - (daydiv * 7) + dotw;
break;
case 4: daydiv = (day + 31 + 28 + 31) / 7;
dob = (day + 31 + 28 + 31) - (daydiv * 7) + dotw;
break;
case 5: daydiv = (day + 31 + 28 + 31 + 30) / 7;
dob = (day + 31 + 28 + 31 + 30) - (daydiv * 7) + dotw;
break;
case 6: daydiv = (day + 31 + 28 + 31 + 30 + 31) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31) - (daydiv *7) + dotw;
break;
case 7: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30) -(daydiv * 7) + dotw;
break;
case 8: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31) /7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31) -(daydiv * 7) + dotw;
break;
case 9: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31) - (daydiv * 7) + dotw;
break;
case 10: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30) - (daydiv * 7) + dotw;
break;
case 11: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30 + 31) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30 + 31) - (daydiv * 7) + dotw;
break;
case 12: daydiv = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30 + 31 + 30) / 7;
dob = (day + 31 + 28 + 31 + 30 + 31 + 30 + 31 +31 + 30 + 31 + 30) - (daydiv * 7) + dotw;
break;
}
}
/****** Calculate Day of Birth ******/
void calcDOB (int db, int dob)
{
db = (dob) - ((dob / 7) * 7);
switch (db)
{
case 0: printf("\nYou were born on a Sunday\n");
break;
case 1: printf("\nYou were born on a Monday\n");
break;
case 2: printf("\nYou were born on a Tuesday\n");
break;
case 3: printf("\nYou were born on a Wednesday\n");
break;
case 4: printf("\nYou were born on a Thursday\n");
break;
case 5: printf("\nYou were born on a Friday\n");
break;
case 6: printf("\nYou were born on a Saturday\n");
break;
}
}