#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;
}