Advertisement
Wojtekd

Koniec zajec ze strukturami.

Jan 26th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. struct ksiazka
  5. {
  6.     char tytul[20];
  7.     char autor[20];
  8.     int rokWydania;
  9. };
  10.  
  11. void wpisz(struct ksiazka* k)
  12. {
  13.     printf("Podaj tytul.\n");
  14.     scanf("%s",&k->tytul);
  15.     printf("Podaj autora.\n");
  16.     scanf("%s",&k->autor);
  17.     printf("Podaj rok wydania.\n");
  18.     scanf("%d",&k->rokWydania);
  19.     printf("\n");
  20. }
  21. void wypisz(struct ksiazka k)
  22. {
  23.     printf("Tytul: %s\n",k.tytul);
  24.     printf("Autor: %s\n",k.autor);
  25.     printf("Rok wydania: %d\n",k.rokWydania);  
  26. }
  27. void wczytajdotablicy(struct ksiazka* ktab)
  28. {
  29.     int i;
  30.     for(i = 0; i < 4; i++)
  31.     {
  32.         wpisz(&ktab[i]);
  33.     }
  34. }
  35. void wypisztablice(struct ksiazka* ktab)
  36. {
  37.     int i;
  38.     for(i = 0; i < 4; i++)
  39.     {
  40.         wypisz(ktab[i]);
  41.     }  
  42. }
  43. // wypisz ksiazki autora X
  44. // wypisz najnowsza ksiazke
  45. // wypisz ksiazki ktore zaczynaja sie od Z
  46. void wypiszKsiazkiZaczynajaceSieOd(struct ksiazka* ktab, char c)
  47. {
  48.     printf("Ksiazki zaczynajace sie od %c",c);
  49.     int i;
  50.     for(i = 0; i < 4; i++)
  51.     {
  52.         if(ktab[i].tytul[0] == c)
  53.         {
  54.             printf("%s",ktab[i].tytul);
  55.         }
  56.     }
  57. }
  58. void wypiszKsiazkiAutora(struct ksiazka* ktab, const char* autor)
  59. {
  60.     int i;
  61.     for(i = 0; i < 4; i++)
  62.     {
  63.         if(strcmp(autor,  ktab[i].autor) == 0)
  64.         {
  65.             printf("%s",ktab[i].tytul);
  66.         }
  67.     }
  68. }
  69. void wypiszNajnowsza(struct ksiazka* ktab)
  70. {
  71.     int i,maxRok;
  72.     struct ksiazka* najnowsza;
  73.    
  74.     maxRok = ktab[0].rokWydania;
  75.     najnowsza = ktab;
  76.    
  77.     for(i = 0; i < 4; i++)
  78.     {
  79.         if(ktab[i].rokWydania > maxRok)
  80.         {
  81.             maxRok = ktab[i].rokWydania;
  82.             najnowsza = &ktab[i];
  83.         }
  84.     }
  85.     printf("%s",najnowsza->tytul);
  86. }
  87.  
  88. int main(void)
  89. {
  90.     struct ksiazka k;
  91.     struct ksiazka kTab[4];
  92.        
  93.     wczytajdotablicy(kTab);
  94.     wypisztablice(kTab);       
  95.    
  96.     //char TestowanyAutor[20];
  97.     //scanf("%s",&TestowanyAutor);
  98.     //wypiszKsiazkiAutora(kTab,TestowanyAutor);
  99.     wypiszNajnowsza(kTab);
  100.        
  101.     return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement