Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*5. Napisati program u kojem korisnik unosi datume rođenja (tri broja) za n osoba.
- Napisati funkciju koja provjerava je li datum validan. Pretpostavit ćemo da je godina
- rođenja uvijek veća od 1900. i manja od 2019. Napisati funkciju koja ispituje je li
- datum iz prijestupne godine. Program ispisuje poruke ”validan - prijestupna”, ”validan
- - nije prijestupna” ili ”nije validan”.
- Godina je prijestupna ako je djeljiva sa četiri i nije djeljiva sa sto ili je djeljiva sa
- 400.
- Primjer: Datum 29.2.2021. nije validan, a 29.2.2020. je validan.*/
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- int is_Date_Valid(int, int, int);
- int is_Leap(int);
- int main()
- {
- int day, month, year;
- printf("Upisi dan, mjesec i godinu rodjenja\n");
- scanf(" %d %d %d", &day, &month, &year);
- if (is_Date_Valid(day, month, year) == 1)
- printf("\nValdina ");
- else
- printf("\Ne valdina ");
- if (is_Leap(year) == 1)
- printf("prijestupna\n");
- else
- printf("neprijestupna\n");
- getchar();
- getchar();
- return 1;
- }
- int is_Leap(int year)
- {
- //Return 1 for leap year,s and 0 for all others.
- if (year % 400 == 0)
- return 1;
- else if ((year % 4 == 0) && !(year % 100 == 0))
- return 1;
- else
- return 0;
- }
- int is_Date_Valid(int day, int month, int year)
- {
- //Return 1 if valid, return 0 if not valid
- if ((day > 31) || (month > 12) || (year < 1900) || (year > 2019))
- return 0;
- else if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
- {
- if (day <= 31)
- return 1;
- else
- return 0;
- }
- else if (month == 2)
- {
- if ((is_Leap(year) == 1) && (day <= 29))
- return 1;
- else if (day <= 28)
- return 1;
- else
- return 0;
- }
- else
- {
- if (day <= 30)
- return 1;
- else
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement