Advertisement
dadiw96

Projekt Mateusz

Jan 14th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5.     char godzina[3];
  6.  
  7.  
  8. void godzina_wpisz(void);
  9. int palindrom(void);
  10. void wypisywanie(int spr);
  11. int sprawdzenie(void);
  12.  
  13.  
  14. int main()
  15. {
  16.     int pal,ilosc,i=0;
  17.    
  18.     printf("Podaj ilosc godzin ");
  19.     scanf("%d",&ilosc);
  20.         while(i<ilosc)
  21.             {
  22.             godzina_wpisz();
  23.             pal=palindrom();
  24.             wypisywanie(pal);
  25.             i++;
  26.             }
  27.  
  28. }
  29.  
  30. void godzina_wpisz(void)
  31. {   int spr;
  32.  
  33.     do
  34.     {
  35.        
  36.            
  37.         printf("\nPodaj godzine");
  38.         fflush(stdin);
  39.         scanf("%s",&godzina);
  40.         spr=sprawdzenie();
  41.        
  42.     }while(spr!=0);
  43.    
  44. }  
  45.  
  46. int palindrom(void)
  47. {
  48.     int g,m;
  49.  
  50.     if(*(godzina+0)==*(godzina+3))
  51.         {
  52.         g=1;   
  53.         }
  54.     if(*(godzina+1)==*(godzina+2))
  55.         {
  56.         m=1;   
  57.         }
  58.        
  59.        
  60.         if(g==1&&m==1)
  61.     {
  62.         return 1;
  63.     }              
  64.  
  65. }
  66. void wypisywanie(int spr)
  67. {
  68.         if(spr==1)
  69.     {
  70.     printf("\nGodzina -- %c%c:%c%c -- jest palindromem\n",*godzina,*(godzina+1),*(godzina+2),*(godzina+3));
  71.     }              
  72.     else
  73.     {
  74.     printf("\n Godzina -- %c%c:%c%c -- nie jest palindromem\n ",*godzina,*(godzina+1),*(godzina+2),*(godzina+3));
  75.     }
  76.    
  77. }
  78.  
  79. int sprawdzenie(void)
  80. {
  81.     int g,sprg,sprm;
  82.     double dzielenie,godz,min;
  83.     g=atoi(godzina);        //konwersja tablicy godzina do zmiennej typu int
  84.     dzielenie=(double)g/100;    //zapisyawanie wyniku dzielenie g/100 do zmiennej typu double konwersja jawna g na tryb double
  85.     min  = modf ( dzielenie , & godz);//funkcja modf zwraca oddzielnie część całkowitą i ułamkową w tym przypadku godziny to część załkowita a minuty to część ułamkowa
  86.     min=min*100;//zamiana minut które są ułamkiem na liczbe całkowitą
  87.    
  88.     if(godz>=0&&godz<23)//jeżeli godzina mieści się w zakresie od 0 do 23
  89.             {
  90.             sprg=0;//zwróć 0
  91.             }
  92.     if(min>=00&&min<60)//jeżeli minuta mieści się w zakresie od 0 do 60
  93.             {
  94.             sprm=0;//zwróć 0
  95.             }
  96.            
  97.     if(sprg==0&&sprm==0)//jeżeli poprzednie if'y zwróciły 0 to
  98.         {
  99.         return 0;//funkcja zwraca 0
  100.         }      
  101.    
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement