Advertisement
Crackbone

dv4z5

Mar 29th, 2021
1,515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.81 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.     printf("Upisi dan, mjesec i godinu rodjenja\n");
  24.     scanf(" %d %d %d", &day, &month, &year);
  25.  
  26.     if (is_Date_Valid(day, month, year) == 1)
  27.         printf("\nValdina ");
  28.     else
  29.         printf("\Ne valdina ");
  30.  
  31.     if (is_Leap(year) == 1)
  32.         printf("prijestupna\n");
  33.     else
  34.         printf("neprijestupna\n");
  35.  
  36.  
  37.  
  38.  
  39.     getchar();
  40.     getchar();
  41.     return 1;
  42. }
  43.  
  44. int is_Leap(int year)
  45. {
  46.     //Return 1 for leap year,s and 0 for all others.
  47.     if (year % 400 == 0)
  48.         return 1;
  49.     else if ((year % 4 == 0) && !(year % 100 == 0))
  50.         return 1;
  51.     else
  52.         return 0;
  53. }
  54.  
  55. int is_Date_Valid(int day, int month, int year)
  56. {
  57.     //Return 1 if valid, return 0 if not valid
  58.     if ((day > 31) || (month > 12) || (year < 1900) || (year > 2019))
  59.         return 0;
  60.     else if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
  61.     {
  62.         if (day <= 31)
  63.             return 1;
  64.         else
  65.             return 0;
  66.     }
  67.     else if (month == 2)
  68.     {
  69.         if ((is_Leap(year) == 1) && (day <= 29))
  70.             return 1;
  71.         else if (day <= 28)
  72.             return 1;
  73.         else
  74.             return 0;
  75.     }
  76.     else
  77.     {
  78.         if (day <= 30)
  79.             return 1;
  80.         else
  81.             return 0;
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement