Advertisement
Crackbone

dv4z5v1

Mar 30th, 2021
646
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. /*5. Napisati program u kojem korisnik unosi datume rođenja (tri broja) za n osoba.
  2. Napisati funkciju koja provjerava je li datum validan. Pretpostavit ćemo da je godina
  3. rođenja uvijek veća od 1900. i manja od 2019. Napisati funkciju koja ispituje je li
  4. datum iz prijestupne godine. Program ispisuje poruke ”validan - prijestupna”, ”validan
  5. - nije prijestupna” ili ”nije validan”.
  6. Godina je prijestupna ako je djeljiva sa četiri i nije djeljiva sa sto ili je djeljiva sa
  7. 400.
  8. Primjer: Datum 29.2.2021. nije validan, a 29.2.2020. je validan.*/
  9.  
  10.  
  11.  
  12.  
  13. #define _CRT_SECURE_NO_WARNINGS
  14.  
  15. #include<stdio.h>
  16.  
  17. int is_Date_Valid(int, int, int);
  18. int is_Leap(int);
  19.  
  20. int main()
  21. {
  22.     int day, month, year;
  23.     int n;
  24.     printf("Unesi broj osoba:\n");
  25.     scanf(" %d", &n);
  26.     while (n > 0)
  27.     {
  28.         printf("Upisi dan, mjesec i godinu rodjenja\n");
  29.         scanf(" %d %d %d", &day, &month, &year);
  30.  
  31.         if (is_Date_Valid(day, month, year) == 1)
  32.             printf("\nValdina ");
  33.         else
  34.             printf("\Ne valdina ");
  35.  
  36.         if (is_Leap(year) == 1)
  37.             printf("prijestupna\n");
  38.         else
  39.             printf("neprijestupna\n");
  40.         n--;
  41.     }
  42.  
  43.  
  44.     getchar();
  45.     getchar();
  46.     return 1;
  47. }
  48.  
  49. int is_Leap(int year)
  50. {
  51.     //Return 1 for leap year,s and 0 for all others.
  52.     if (year % 400 == 0)
  53.         return 1;
  54.     else if ((year % 4 == 0) && !(year % 100 == 0))
  55.         return 1;
  56.     else
  57.         return 0;
  58. }
  59.  
  60. int is_Date_Valid(int day, int month, int year)
  61. {
  62.     //Return 1 if valid, return 0 if not valid
  63.     if ((day > 31) || (month > 12) || (year < 1900) || (year > 2019))
  64.         return 0;
  65.     else if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
  66.     {
  67.         if (day <= 31)
  68.             return 1;
  69.         else
  70.             return 0;
  71.     }
  72.     else if (month == 2)
  73.     {
  74.         if ((is_Leap(year) == 1) && (day <= 29))
  75.             return 1;
  76.         else if (day <= 28)
  77.             return 1;
  78.         else
  79.             return 0;
  80.     }
  81.     else
  82.     {
  83.         if (day <= 30)
  84.             return 1;
  85.         else
  86.             return 0;
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement