calendar program using switch case

   calendar program using switch case




#include<stdio.h>
#include<string.h>
int daynumber(int day,int month,int year)
{
    int t[]={0,3,2,5,0,3,5,1,4,6,2,4};
    return (year+(year/4)-(year/100)+(year/400)+t[month-1]+day)%7;
}
char *getmonthname(int n)
{
    char *months[]={"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"};
    return(months[n]);
}
int numberofdays(int n,int year)
{
    switch(n)
    {
    case 0:
        return(31);
    case 1:
    {
        if(year%400==0 || (year%4==0 && year%100!=0))
            return(29);
        else
            return(28);
    }
    case 2:
        return(31);
   
    case 3:
        return(30);

    case 4:
        return(31);

    case 5:
        return(30);

    case 6:
        return(31);
   
    case 7:
        return(31);
   
    case 8:
        return(30);
   
    case 9:
        return(31);
   
    case 10:
        return(30);
   
    case 11:
        return(31);
     }
}
void printcalender(int year)
{
    printf("calender %d\n",year);
    int days,i,j,k;
    int cur=daynumber(1,1,year);
    for(i=0;i<12;i++)
    {
        days=numberofdays(i,year);
        printf("\n %s \n",getmonthname(i));
        printf("  sun  mon  tue  wed  thu  fri  sat\n");
        for(k=0;k<cur;k++)
        {
            printf("     ");
        }
        for(j=1;j<=days;j++)
        {
            printf("%5d",j);
            if(++k>6)
            {
                k=0;
                printf("\n");
            }
        }
        if(k)
        {
            printf("\n");
       
        }
        cur=k;
    }
    return;
}
int main()
{
    int year;
    printf("enter year: ");
    scanf("%d",&year);
    printcalender(year);
    return(0);
}

Comments

Popular posts from this blog

circular linked list

calendar program odd days method

C in Depth