home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src5.dms / in.adf / Daycheck.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-07  |  781 b   |  40 lines

  1. #include <stdio.h>
  2.  
  3. int leapyear(year)
  4.    int year;
  5. {
  6.    return(year%4==0 && year%100!=0 || year%400==0);
  7. }
  8.  
  9. int calcdays(string,year)
  10.    char *string;
  11.    int year;
  12. {
  13.    int month, i=0;
  14.    static char names[] = "janfebmaraprmajjunjulaugsepoktnovdecxxx";
  15.    static int table[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
  16.  
  17.    for (month=0; month<39 && i<3 ; month=month+3)
  18.    {
  19.       i=0;
  20.       while (string[i] == names[month+i])
  21.          i++;
  22.    } 
  23.    month=month/3;
  24.    return (month-13 ? table[month]+(month-2 ? 0 : leapyear(year)): 0);
  25. }
  26.  
  27. main()
  28. {
  29.    int days, year;
  30.    char string[5];
  31.  
  32.    printf("Ange manad: "); scanf("%s",&string);
  33.    printf("Ange ar: "); scanf("%d",&year);
  34.  
  35.    days=calcdays(string,year);
  36.    if (days!=0)
  37.       printf("%s har %d dagar!\n",string,days);
  38. }   
  39.  
  40.