#include #include #include #define FORMAT 5 #define NAZWYK 44 #define NAZKAW 60 #define NAZGAT 20 #define ILEKAW 5 #define TRALEN 420 struct Kawalek { char sciezka[TRALEN]; char tytul[NAZKAW]; char wykonawca[NAZWYK]; char gatunek[NAZGAT]; float czas; int nr; char format[FORMAT]; }; void co_to_za_kawalek(struct Kawalek* v, char* tytul, char* wykonawca, char* gatunek, float czas, int nr, char* sciezka, char* format) { strcpy( v -> format, format); strcpy( v -> sciezka, sciezka); strcpy( v -> tytul, tytul); strcpy( v -> wykonawca, wykonawca); strcpy( v -> gatunek, gatunek); v-> czas = czas; v-> nr = nr; } int search_tytul(struct Kawalek* in, int liczba_kawalkow, const char* tytul, struct Kawalek* out) { } void szukajka_kawalek() //struct Kawalek* v, char* tytul, char* wykonawca, char* gatunek, float czas, int nr) { char opcja; printf("Mozesz wyszukac dany kawalek z biblioteki, korzystajac z jego roznych parametrow.n"); printf("Jezeli za pomoca tytulu - wpisz t.n"); printf("Wykonawcy? No to wpisz w.n"); printf("Za pomoca gatunku? - Wpisz gn"); printf("Mozna tez za pomoca czasu trwania, wowczas wpisz c, n"); printf("Ostatnia z opcji jest numer, ktory zajmuje kawalek w bibliotece - bn"); scanf(" %c", &opcja); if(opcja=='t') { printf("Wprowadzono wyszukiwanie za pomoca tytulu. Wpisz tytul piosenki.n"); printf("Kazde slowo zaczyna sie od wielkiej litery, pomin polskie znaki."); } else if(opcja=='w') { char kryterium[NAZWYK]; printf("Wprowadzono wyszukiwanie za pomoca nazwy wykonawcy. Czyje wykonanie program ma znalezc?n"); scanf(" %[^n]", kryterium); printf("Szukany wykonawca to %sn", kryterium); } else if(opcja=='g') printf("Wprowadzono wyszukiwanie za pomoca gatunku. Podaj go.n"); else if(opcja=='c') printf("Serio ktos tego uzywa? No dobra... Podaj czas trwania kawalka w formacie PelneMinuty.Sekundy, np. 21.37"); else if(opcja=='b') printf("Wskaz numer, ktoremu odpowiada kawalek.n"); else printf("Wprowadzono wywolanie nieprzewidzianej metody wyszukiwanian"); } void print_info_kawalek(struct Kawalek* v) { 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); printf("Sciezka do kawalka brzmi %s, plik jest w formacie %snn", v->sciezka, v->format); } int main() { char s_czy_w; struct Kawalek kaw1, kaw2, kaw3, kaw4, kaw5; printf("W bibliotece znajduje sie %d kawalkow n", ILEKAW); co_to_za_kawalek(&kaw1, "She Loves You", "The Beatles", "Rock", 2.25, 1, "C:/Desktop/PRM/Lab6/SheLovesYou.mp3", ".mp3"); co_to_za_kawalek(&kaw2, "Everybody Loves Somebody", "Dean Martin", "Jazz", 2.46, 2, "C:/Desktop/PRM/Lab6/EverybodyLovesSomebody.wav", ".wav"); co_to_za_kawalek(&kaw3, "As Tears Go By", "The Rolling Stones", "Rock", 2.51, 3, "C:/Desktop/PRM/Lab6/AsTearsGoBy.mp3", ".mp3"); co_to_za_kawalek(&kaw4, "All Along The Watchtower", "Jimi Hendrix", "Rock", 4.00, 5, "C:/Desktop/PRM/Lab6/AllAlongTheWatchtower.wav", ".wav"); co_to_za_kawalek(&kaw5, "All Along The Watchtower", "Jimi Hendrix", "Rock", 4.00, 5, "C:/Desktop/PRM/Lab6/AllAlongTheWatchtower.wav", ".wav"); printf("Wypisac liste utworow (w) czy wyszukac wyniku/wynikow o danej cesze(s)?n"); scanf(" %c", &s_czy_w); switch(s_czy_w){ case 's': { szukajka_kawalek(); break; } case 'w': { print_info_kawalek(&kaw1); print_info_kawalek(&kaw2); print_info_kawalek(&kaw3); print_info_kawalek(&kaw4); print_info_kawalek(&kaw5); break; } } return 0; }