Advertisement
mirs0

datum

Jun 5th, 2019
559
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /*
  5.  
  6.     Napisati program koji cita datum (kao dan,mjesec,godinu) i
  7.     pozitivan cijeli broj d(ne veci od 30), a odredjuje
  8.     koji je datum bio d dana pre ucitanog datuma.
  9.    
  10. */
  11.  
  12. main()
  13. {
  14.     int dan,mjesec,godina;
  15.     int p_dan,p_mjesec,p_godina;
  16.     int d;
  17.    
  18.     printf("Unesite datum: ");
  19.     scanf("%d %d %d",&dan,&mjesec,&godina);
  20.    
  21.     printf("Unesite broj dana: ");
  22.     scanf("%d",&d);
  23.    
  24.     if(d>30) {
  25.         printf("Broj dana ne smije biti veci od 30.\n");
  26.         return -1;
  27.     }
  28.    
  29.  
  30.     p_dan = dan - d;
  31.     p_mjesec = mjesec;
  32.     p_godina = godina;
  33.    
  34.  
  35.     if(p_dan == 0) {
  36.         p_mjesec--;
  37.         if(p_mjesec == 0) {
  38.             p_mjesec = 12;
  39.             p_godina--;
  40.         }
  41.        
  42.         switch(p_mjesec) {
  43.            
  44.             case 1:
  45.             case 3:
  46.             case 5:
  47.             case 7:
  48.             case 8:
  49.             case 10:
  50.             case 12:
  51.                 p_dan=31;
  52.                 break; 
  53.             case 2:
  54.                 if((p_godina % 4 == 0 && p_godina % 100 != 0) || p_godina % 400 == 0)
  55.                     p_dan=29;
  56.                      else
  57.                         p_dan = 28;
  58.                      break;
  59.             case 4:
  60.             case 6:
  61.             case 9:
  62.             case 11:
  63.                 p_dan = 30;
  64.             }
  65.         }
  66.        
  67.                      
  68.     printf("Prethodni datum je: %d.%d.%d\n",p_dan,p_mjesec,p_godina);                      
  69.        
  70.        
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement