Welcome To My Blog!! Enjoy Your Time Reading! - Vino00031

C++ Calendar

A C Programming Exercise using Program Control
Structures

#include<stdio.h>
#include<conio.h>
int main()
{
unsigned int day=0, month=0, year=0, f_day=0, f_month=0, f_year=0;
int invalid_input=0, invalid_date=0;
char response=’y';
while (response==’Y'||response==’y')
{
printf("Enter date [dd mm yyyy]: ");
scanf("%i %i %i", &day, &month, &year);
if (day<1)
invalid_input++;
if (month<1 || month>12)
invalid_input++;
if (year<1)
invalid_input++;
switch (month)
{
case 1: case 3: case 5: case 7: case 8: case 10:
if (day>31)
invalid_date++;
else
{
if(day==31)
{
f_day=1;
f_month=month+1;
}
else
{
f_day=day+1;
f_month=month;
}
}
f_year=year;
break;
case 12:
if (day>31)
invalid_date++;
else
{
if(day==31)
{
f_day=1;
f_month=1;
f_year=year+1;
}
else
{
f_day=day+1;
f_month=month;
f_year=year;
}
}
break;
case 4: case 6: case 9: case 11:
if (day>30)
invalid_date++;
else
{
if(day==30)
{
f_day=1;
f_month=month+1;
}
else
{
f_day=day+1;
f_month=month;
}
}
f_year=year;
break;
case 2:
if(year%4==0)
{
if (day>29)
invalid_date++;
else
{
if(day==29)
{
f_day=1;
f_month=month+1;
}
else
{
f_day=day+1;
f_month=month;
}
}
}
else
{
if (day>28)
invalid_date++;
else
{
if(day==28)
{
f_day=1;
f_month=month+1;
}
else
{
f_day=day+1;
f_month=month;
}
}
}
f_year=year;
break;
}
if (invalid_input>0)
printf("INVALID INPUT!!!!");
else if (invalid_date>0)
printf("INVALID DATE!!!!");
else
{
printf("Date following ");
if (day<10)
printf("0");
printf("%i:",day);
if (month<10)
printf("0");
printf("%i:",month);
if (year<10)
printf("000");
if (year>10 && year<100)
printf("00");
if (year>100 && year<1000)
printf("0");
printf("%i",year);
printf(" is ");
if (f_day<10)
printf("0");
printf("%i:",f_day);
if (f_month<10)
printf("0");
printf("%i:",f_month);
if (f_year<10)
printf("000");
if (f_year>10 && f_year<100)
printf("00");
if (f_year>100 && f_year<1000)
printf("0");
printf("%i.",f_year);
}
printf("\nRetry[Y/N]:");
scanf("%s",&response);
fflush(stdin);
}
getch();
return 0;
}

No comments:

Post a Comment

GOOGLE AD

Flag Counter

free counters
. . . . . . . . .