T
tigrfire
I'm trying to write a program that will display the following output:
MONTHLY CALENDAR
This program displays a calendar. You need to provide the day of the
week
on which January 1 falls, and indicate whether or not the year is a
leap year.
Enter the code number for the day of the week on which January 1 falls:
0- Sun 1- Mon 2- Tue 3- Wed 4- Thu 5- Fri 6- Sat
Enter day code now (0 - 6): 4
Is the calendar for a leap year? (type 1 for yes, 0 for no): 0
*** CALENDAR ***
January
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
February
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
.
.
.
(output continues for all 12 months)
I'm not asking for source code necessarily, not that it wouldn't help,
but I'd just like some suggesstions on how to either modify or change
my current code in order to achieve a program that's not just a bunch
of wasted, repetitive code, like it currently is.
Here's what I've written, the problem is, it will only work, obviously,
for when there's no leap year, and January 1 comes on a Sunday. I don't
have a lot of programming experience and pretty much everything you see
here is all I can utilize.
/* Homework 1
Calendar Program */
#include <stdio.h>
int main()
{
/* declarations */
int daycode, leapyear, monthnum, daynum;
monthnum=1;
/* Display of Calendar */
printf(" MONTHLY CALENDAR\n\n");
printf("This program displays a calendar. You need to provide the day
of the week\non which January 1 falls, and indicate whether or not the
year is a leap year.");
printf("\n\nEnter the code number for the day of the week on which
January 1 falls:\n0-Sun 1-Mon 2-Tue 3-Wed 4-Thu 5-Fri
6-Sat");
printf("\n\nEnter day code now (0-6): " );
scanf("%d",&daycode);
printf("\nIs the calendar for a leap year? (type 1 for yes, 0 for no):
");
scanf("%d", &leapyear);
if (daycode==0 && leapyear==0 && monthnum <= 12)
{
printf(" *** CALENDAR ***\n\n");
if (monthnum==1)
{
printf("January\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
while (daynum <= 7)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 14)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 21)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==2)
{
printf("\n\nFebruary\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
}
if (monthnum==3)
{
printf("\n\nMarch\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==4)
{
printf("\n\nApril\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 1)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 15)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 22)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 29)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==5)
{
printf("\n\nMay\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 6)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 13)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 20)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 27)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==6)
{
printf("\n\nJune\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 3)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 10)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 17)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 24)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==7)
{
printf("\n\nJuly\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 1)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 15)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 22)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 29)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==8)
{
printf("\n\nAugust\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 5)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 12)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 19)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 26)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==9)
{
printf("\n\nSeptmember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 2)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 9)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 16)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 23)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==10)
{
printf("\n\nOctober\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
while (daynum <= 7)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 14)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 21)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==11)
{
printf("\n\nNovember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==12)
{
printf("\n\nDecember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 2)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 9)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 16)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 23)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
printf("\n");
return 0;
}
Thanks for any help.
MONTHLY CALENDAR
This program displays a calendar. You need to provide the day of the
week
on which January 1 falls, and indicate whether or not the year is a
leap year.
Enter the code number for the day of the week on which January 1 falls:
0- Sun 1- Mon 2- Tue 3- Wed 4- Thu 5- Fri 6- Sat
Enter day code now (0 - 6): 4
Is the calendar for a leap year? (type 1 for yes, 0 for no): 0
*** CALENDAR ***
January
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
February
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
.
.
.
(output continues for all 12 months)
I'm not asking for source code necessarily, not that it wouldn't help,
but I'd just like some suggesstions on how to either modify or change
my current code in order to achieve a program that's not just a bunch
of wasted, repetitive code, like it currently is.
Here's what I've written, the problem is, it will only work, obviously,
for when there's no leap year, and January 1 comes on a Sunday. I don't
have a lot of programming experience and pretty much everything you see
here is all I can utilize.
/* Homework 1
Calendar Program */
#include <stdio.h>
int main()
{
/* declarations */
int daycode, leapyear, monthnum, daynum;
monthnum=1;
/* Display of Calendar */
printf(" MONTHLY CALENDAR\n\n");
printf("This program displays a calendar. You need to provide the day
of the week\non which January 1 falls, and indicate whether or not the
year is a leap year.");
printf("\n\nEnter the code number for the day of the week on which
January 1 falls:\n0-Sun 1-Mon 2-Tue 3-Wed 4-Thu 5-Fri
6-Sat");
printf("\n\nEnter day code now (0-6): " );
scanf("%d",&daycode);
printf("\nIs the calendar for a leap year? (type 1 for yes, 0 for no):
");
scanf("%d", &leapyear);
if (daycode==0 && leapyear==0 && monthnum <= 12)
{
printf(" *** CALENDAR ***\n\n");
if (monthnum==1)
{
printf("January\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
while (daynum <= 7)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 14)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 21)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==2)
{
printf("\n\nFebruary\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
}
if (monthnum==3)
{
printf("\n\nMarch\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==4)
{
printf("\n\nApril\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 1)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 15)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 22)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 29)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==5)
{
printf("\n\nMay\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 6)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 13)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 20)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 27)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==6)
{
printf("\n\nJune\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 3)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 10)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 17)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 24)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==7)
{
printf("\n\nJuly\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 1)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 15)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 22)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 29)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==8)
{
printf("\n\nAugust\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 5)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 8)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 12)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 19)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 26)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==9)
{
printf("\n\nSeptmember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 2)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 9)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 16)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 23)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==10)
{
printf("\n\nOctober\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
while (daynum <= 7)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 14)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 21)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 28)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==11)
{
printf("\n\nNovember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 4)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 11)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 18)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 25)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
if (monthnum==12)
{
printf("\n\nDecember\n\n");
printf("Sun Mon Tue Wed Thu Fri Sat\n");
daynum=1;
printf(" ");
while (daynum <= 2)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while(daynum <= 9)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum < 10)
{
printf(" %d ",daynum);
daynum++;
}
while (daynum <= 16)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 23)
{
printf (" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 30)
{
printf(" %d ",daynum);
daynum++;
}
printf("\n");
while (daynum <= 31)
{
printf(" %d ",daynum);
daynum++;
}
monthnum++;
}
printf("\n");
return 0;
}
Thanks for any help.