Facebook
From Bari, 5 Years ago, written in C.
This paste is a reply to Re: lab6zad3RG from Bari - view diff
Embed
Download Paste or View Raw
Hits: 389
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define FORMAT 5
  6. #define NAZWYK 44
  7. #define NAZKAW 60
  8. #define NAZGAT 20
  9. #define ILEKAW 5
  10. #define TRALEN 420
  11.  
  12. struct Kawalek
  13. {
  14. char sciezka[TRALEN];
  15. char tytul[NAZKAW];
  16. char wykonawca[NAZWYK];
  17. char gatunek[NAZGAT];
  18. float czas;
  19. int nr;
  20. char format[FORMAT];
  21. };
  22.  
  23. void co_to_za_kawalek(struct Kawalek* v, char* tytul, char* wykonawca, char* gatunek, float czas, int nr, char* sciezka, char* format)
  24. {   strcpy( v -> format, format);
  25.     strcpy( v -> sciezka, sciezka);
  26.     strcpy( v -> tytul, tytul);
  27.     strcpy( v -> wykonawca, wykonawca);
  28.     strcpy( v -> gatunek, gatunek);
  29.     v-> czas = czas;
  30.     v-> nr = nr;
  31. }
  32.  
  33. int search_tytul(struct Kawalek* in, int liczba_kawalkow, const char* tytul, struct Kawalek* out)
  34. {
  35.  
  36. }
  37.  
  38.  void szukajka_kawalek() //struct Kawalek* v, char* tytul, char* wykonawca, char* gatunek, float czas, int nr)
  39.  {
  40.      char opcja;
  41.      printf("Mozesz wyszukac dany kawalek z biblioteki, korzystajac z jego roznych parametrow.n");
  42.      printf("Jezeli za pomoca tytulu - wpisz t.n");
  43.      printf("Wykonawcy? No to wpisz w.n");
  44.      printf("Za pomoca gatunku? - Wpisz gn");
  45.      printf("Mozna tez za pomoca czasu trwania, wowczas wpisz c, n");
  46.      printf("Ostatnia z opcji jest numer, ktory zajmuje kawalek w bibliotece - bn");
  47.      scanf(" %c", &opcja);
  48.  
  49.  
  50.      if(opcja=='t')
  51.         {
  52.             printf("Wprowadzono wyszukiwanie za pomoca tytulu. Wpisz tytul piosenki.n");
  53.             printf("Kazde slowo zaczyna sie od wielkiej litery, pomin polskie znaki.");
  54.  
  55.         }
  56.     else if(opcja=='w')
  57.         {
  58.  
  59.          char kryterium[NAZWYK];
  60.          printf("Wprowadzono wyszukiwanie za pomoca nazwy wykonawcy. Czyje wykonanie program ma znalezc?n");
  61.          scanf(" %[^n]", kryterium);
  62.          printf("Szukany wykonawca to %sn", kryterium);
  63.  
  64.         }
  65.  
  66.  
  67.  
  68.  
  69.  
  70.     else if(opcja=='g')
  71.         printf("Wprowadzono wyszukiwanie za pomoca gatunku. Podaj go.n");
  72.     else if(opcja=='c')
  73.        printf("Serio ktos tego uzywa? No dobra... Podaj czas trwania kawalka w formacie PelneMinuty.Sekundy, np. 21.37");
  74.     else if(opcja=='b')
  75.         printf("Wskaz numer, ktoremu odpowiada kawalek.n");
  76.     else
  77.     printf("Wprowadzono wywolanie nieprzewidzianej metody wyszukiwanian");
  78.  }
  79.  
  80.  
  81. void print_info_kawalek(struct Kawalek* v)
  82. {
  83.     printf("Numer na liscie: %d, tytul brzmi %s, wykonawca to %s, n nalezy do gatunku <%s> i trwa %.2f.n", v->nr, v->tytul, v->wykonawca, v->gatunek, v->czas);
  84.     printf("Sciezka do kawalka brzmi %s, plik jest w formacie %snn", v->sciezka, v->format);
  85. }
  86.  
  87. int main()
  88. {
  89.     char s_czy_w;
  90.     struct Kawalek kaw1, kaw2, kaw3, kaw4, kaw5;
  91. printf("W bibliotece znajduje sie %d kawalkow n", ILEKAW);
  92. co_to_za_kawalek(&kaw1, "She Loves You", "The Beatles", "Rock", 2.25, 1, "C:/Desktop/PRM/Lab6/SheLovesYou.mp3", ".mp3");
  93. co_to_za_kawalek(&kaw2, "Everybody Loves Somebody", "Dean Martin", "Jazz", 2.46, 2, "C:/Desktop/PRM/Lab6/EverybodyLovesSomebody.wav", ".wav");
  94. co_to_za_kawalek(&kaw3, "As Tears Go By", "The Rolling Stones", "Rock", 2.51, 3, "C:/Desktop/PRM/Lab6/AsTearsGoBy.mp3", ".mp3");
  95. co_to_za_kawalek(&kaw4, "All Along The Watchtower", "Jimi Hendrix", "Rock", 4.00, 5, "C:/Desktop/PRM/Lab6/AllAlongTheWatchtower.wav", ".wav");
  96. co_to_za_kawalek(&kaw5, "All Along The Watchtower", "Jimi Hendrix", "Rock", 4.00, 5, "C:/Desktop/PRM/Lab6/AllAlongTheWatchtower.wav", ".wav");
  97.  
  98. printf("Wypisac liste utworow (w) czy wyszukac wyniku/wynikow o danej cesze(s)?n");
  99. scanf(" %c", &s_czy_w);
  100.         switch(s_czy_w){
  101.                 case 's':
  102.                     {       szukajka_kawalek();
  103.  
  104.                             break;
  105.                     }
  106.                 case 'w':
  107.                     {
  108.  
  109.                             print_info_kawalek(&kaw1);
  110.                             print_info_kawalek(&kaw2);
  111.                             print_info_kawalek(&kaw3);
  112.                             print_info_kawalek(&kaw4);
  113.                             print_info_kawalek(&kaw5);
  114.                             break;
  115.                     }
  116.                         }
  117. return 0;
  118. }
  119.