taeyounkim LOG

Code that prints a one-month calendar 본문

Career&Study/Coding Practice

Code that prints a one-month calendar

taeyounkim 2021. 6. 12. 15:54
728x90

#include <stdio.h>

int main()
{
   int n,d,i,a;
   printf("Enter number of days in a month: ");
   scanf("%d", &n);
   
   printf("Enter starting day of the week (1=Sun 7=Sat) : ");
   scanf("%d", &d);
 

  for(a=1; a<d; a++){
        printf("    ");
        }        /* 이 부분 생각하느라 애먹음. 더 좋은 솔루션 없을까 고민해봐야됨.*/
            
   switch(d){
       case 1:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==0){
                printf("\n");
            }
        } break;
        
        case 2:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==6){
                printf("\n");
            }
        } break;
        
        case 3:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==5){
                printf("\n");
            }
        } break;
        
        case 4:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==4){
                printf("\n");
            }
        } break;
        
        case 5:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==3){
                printf("\n");
            }
        } break;
        
        case 6:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==2){
                printf("\n");
            }
        } break;
        
        case 7:
        for(i=1;i<=n;i++){
            printf("%-3d ", i);
            if (i%7==1){
                printf("\n");
            }
        } break;
   }
}

728x90