Advertisement
Wojtekd

Szukanie ksiazek autora (STRCMP)

Jan 26th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 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. void wypiszKsiazkiAutora(struct ksiazka* ktab, const char* autor)
  46. {
  47.     int i;
  48.     for(i = 0; i < 4; i++)
  49.     {
  50.         if(strcmp(autor,  ktab[i].autor) == 0)
  51.         {
  52.             printf("%s",ktab[i].tytul);
  53.         }
  54.     }
  55. }
  56. void wypiszNajnowsza(struct ksiazka* ktab)
  57. {
  58.     int i,maxRok;
  59.     struct ksiazka* najnowsza;
  60.    
  61.     maxRok = ktab[0].rokWydania;
  62.     najnowsza = ktab;
  63.    
  64.     for(i = 0; i < 4; i++)
  65.     {
  66.         if(ktab[i].rokWydania > maxRok)
  67.         {
  68.             maxRok = ktab[i].rokWydania;
  69.             najnowsza = &ktab[i];
  70.         }
  71.     }
  72.     printf("%s",najnowsza->tytul);
  73. }
  74.  
  75. int main(void)
  76. {
  77.     struct ksiazka k;
  78.     struct ksiazka kTab[4];
  79.        
  80.     wczytajdotablicy(kTab);
  81.     wypisztablice(kTab);       
  82.    
  83.     //char TestowanyAutor[20];
  84.     //scanf("%s",&TestowanyAutor);
  85.     //wypiszKsiazkiAutora(kTab,TestowanyAutor);
  86.     printf("najnowsza to:\n");
  87.     wypiszNajnowsza(kTab);
  88.        
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement