Advertisement
Crackbone

dv4z6

Mar 30th, 2021
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. /*6. Koristeći funkciju iz prethodnog zadatka napisati funkciju koja za unesen datum
  2. rođenja računa koliko je rođendana osoba do sada mogla proslaviti. Unos se vrši u
  3. main funkciji i ponavlja sve dok korisnik ne unese prijestupnu godinu.
  4. Primjer: Osoba rođena 29.2.2000. godine slavila bi do sad pet rođendana.*/
  5.  
  6.  
  7. #define _CRT_SECURE_NO_WARNINGS
  8.  
  9. #include<stdio.h>
  10.  
  11. int is_Date_Valid(int, int, int);
  12. int is_Leap(int);
  13.  
  14. int main()
  15. {
  16.     int day, month, year;
  17.  
  18.  
  19.         printf("Upisi dan, mjesec i godinu rodjenja\n");
  20.         scanf(" %d %d %d", &day, &month, &year);
  21.        
  22.         if ((is_Leap(year) == 1) && (day == 29) && (month == 2))
  23.             printf("\nOsoba je mogla proslaviti %d rodjendana", (2020 - year) / 4);
  24.         else
  25.             printf("\nOsoba je mogla proslaviti %d rodjendana", (2020 - year));
  26.         while (is_Leap(year) == 0)
  27.         {
  28.  
  29.             printf("\nUpisi dan, mjesec i godinu rodjenja\n");
  30.             scanf(" %d %d %d", &day, &month, &year);
  31.  
  32.             if ((is_Leap(year) == 1) && (day == 29) && (month == 2))
  33.                 printf("\nOsoba je mogla proslaviti %d rodjendana", (2020 - year) / 4);
  34.             else
  35.                 printf("\nOsoba je mogla proslaviti %d rodjendana", (2020 - year));
  36.         }
  37.  
  38.  
  39.  
  40.     getchar();
  41.     getchar();
  42.     return 1;
  43. }
  44.  
  45. int is_Leap(int year)
  46. {
  47.     //Return 1 for leap year,s and 0 for all others.
  48.     if (year % 400 == 0)
  49.         return 1;
  50.     else if ((year % 4 == 0) && !(year % 100 == 0))
  51.         return 1;
  52.     else
  53.         return 0;
  54. }
  55.  
  56. int is_Date_Valid(int day, int month, int year)
  57. {
  58.     //Return 1 if valid, return 0 if not valid
  59.     if ((day > 31) || (month > 12) || (year < 1900) || (year > 2019))
  60.         return 0;
  61.     else if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
  62.     {
  63.         if (day <= 31)
  64.             return 1;
  65.         else
  66.             return 0;
  67.     }
  68.     else if (month == 2)
  69.     {
  70.         if ((is_Leap(year) == 1) && (day <= 29))
  71.             return 1;
  72.         else if (day <= 28)
  73.             return 1;
  74.         else
  75.             return 0;
  76.     }
  77.     else
  78.     {
  79.         if (day <= 30)
  80.             return 1;
  81.         else
  82.             return 0;
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement