Skip to content

Commit fa59040

Browse files
committed
final version + opis w txt
1 parent 18b2b39 commit fa59040

File tree

8 files changed

+88
-53
lines changed

8 files changed

+88
-53
lines changed

baza_gitar

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Program baza_gitar umożliwia dodawanie, usuwanie, edycję oraz wyświetlanie bazy gitar.
2+
3+
Dodawać nowe gitary można poprzez użycie opcji:
4+
>>11<< załadowanie wskazanych/wszystkich elementów z pliku binarnego o rozszezrzeniu .jt. Rozszerzenie jest automatycznie dodawane przez program, wiec użytkownik musi się martwić tylko o poprawną nazwę pliku.
5+
>>12<< utworzenie nowego elementu o parametrach wybranych przez użytkownika
6+
>>13<< wygenerowanie dowolnej, wskazanej ilości losowych gitar. Funkcja losująca posiada w bazie kilka marek, typów budów, rodzajów z których losuje pojednyncze elementy przyporządkowując je tworzonej gitarze.
7+
8+
Aby usunąć konkretną gitarę z bazy należy wybrać opcję >>14<< w menu głównym, a następnie podać numer gitary którą chcemy usunąć.
9+
10+
Edycja parametrów gitary następuje po wybraniu opcji >>15<< z menu głównego. Po wpisaniu numeru gitary, program poprosi o podanie kolejnych parametrów, jednocześnie pokazując w nawiasie dotychczasową wartość.
11+
12+
Funkcja >>2<< umożliwia wyświetlenie wszystkich gitar wraz z ich parametrami które znajdują sie w bazie.
13+
14+
Program umożliwia sortowanie gitar wedle wszystkich parametrów. Należy w tym celu wybrać opcję:
15+
>>31<< aby posortować po roku pordukcji
16+
>>32<< alfabetycznie po nazwie marki
17+
>>33<< aby posorotwać po rodzaju w porzątku: pierwsze elektryczne, potem akustyczne a na końcu basowe.
18+
>>34<< alfabetycznie po budowie
19+
Po wybraniu którejkolwiek opcji gitary zostaną posortowane i ponumerowane wedłóg nowego porządku. Aby wyświetlić efekty sortowania należy wybrać opcję >>2<< w menu głównym.
20+
21+
Program umożliwia wyszukiwanie gitar wedle wszystkich parametrów. Należy w tym celu wybrać opcję:
22+
>>41<< aby wyświetlić tylko te gitary które zawierają poszukiwany fragment tekstu w swojej nazwie marki. Np. szukając >>a<< program wyświetli wszystkie gitary które w swojej nazwie marki zawierają literę >>a<<.
23+
>>42<< analogiczna funkcja do >>41<<, wyszukiwanie następuje w rodzaju budowy.
24+
>>43<< wyświetlone zostaną tylko gitary z określonego przez u użytkownika roku produkcji.
25+
>>44<< wyświetlony zostanie tylko jeden z trzech możliwych rodzajów gitar: elektryczne, akustyczne lub basowe.
26+
Wyszukane gitary są tymczasowo zapisywane do nowej listy, a po wyświetleniu wyszukanych rekordów lista zostaje usunięta a pamięć zwolniona.
27+
28+
Aby zapisać bazę gitar do pliku należy w menu głównym wybrać opcję >>5<<. Program poprosi o podanie nazwy pliku, którą należy podać bez rozszerzenia. Program automatycznie dopisze do nazwy rozszerzenie .jt i zapisze bazę w formie bitowej.
29+
30+
Wyjście z programu następuje po wybraniu opcji >>6<<. Następuje wtedy zwolnienie pamięci oraz zakończenie działania programu.
31+

baza_gitar~

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Program baza_gitar umożliwia dodawanie, usuwanie, edycję oraz wyświetlanie bazy gitar.
2+
3+
Dodawać nowe gitary można poprzez opcji:
4+
11) załadowanie wskazanych/wszystkich elementów z pliku binarnego o rozszezrzeniu .jt.
5+
12) utworzenie nowego elementu o parametrach wybranych przez urzytkownika
6+
13) wygenerowanie dowolnej, wskazanej ilości losowych gitar. Funkcja losująca posiada w bazie kilka marek, typów budów, rodzajów z których losuje pojednyncze elementy przyporządkowując je tworzonej gitarze.
7+
8+
Aby usunąć konkretną gitarę z bazy należy wybrać opcję >>14<< w menu głównym, a następnie podać numer gitary którą chcemy usunąć.
9+
10+
Edycja parametrów gitary następuje po wybraniu opcji >>15<< z menu głównego. Po wpisaniu numeru gitary, program poprosi o podanie kolejnych parametrów, jednocześnie pokazując w nawiasie dotychczasową wartość.
11+
12+
Funkcja >>2<< umożliwia wyświetlenie wszystkich gitar które znajdują sie w bazie.
13+
14+
Program umożliwia sortowanie gitar wedle wszystkich parametrów. Należy w tym celu wybrać opcję:
15+
>>31<< aby posortować po roku pordukcji
16+
>>32<< alfabetycznie po nazwie marki
17+
>>33<< aby posorotwać po rodzaju w porzątku: pierwsze elektryczne, potem akustyczne a na końcu basowe.
18+
>>34<< alfabetycznie po budowie
19+
Po wybraniu którejkolwiek opcji gitary zostaną posortowane i ponumerowane wedłóg nowego porządku. Aby wyświetlić efekty sortowania należy wybrać opcję >>2<< w menu głównym.
20+
21+
Program umożliwia wyszukiwanie gitar wedle wszystkich parametrów. Należy w tym celu wybrać opcję:
22+
>>41<< aby wyświetlić tylko te gitary które zawierają poszukiwany fragment tekstu w swojej nazwie marki. Np. szukając >>a<< program wyświetli wszystkie gitary które w swojej nazwie marki zawierają literę >>a<<.
23+
>>42<< analogiczna funkcja do >>41<<, wyszukiwanie następuje w rodzaju budowy.
24+
>>43<< wyświetlone zostaną tylko gitary z określonego przez urzytkownika roku produkcji.
25+
>>44<< wyświetlony zostanie tylko jeden z trzech możliwych rodzajów gitar: elektryczne, akustyczne lub basowe.
26+
Wyszukane gitary są tymczasowo zapisywane do nowej listy, a po wyświetleniu wyszukanych rekordów lista zostaje usunięta a pamięć zwolniona.
27+
28+
Aby zapisać bazę gitar do pliku należy w menu głównym wybrać opcję >>5<<. Program poprosi o podanie nazwy pliku, którą należy podać bez rozszerzenia. Program automatycznie dopisze do nazwy rozszerzenie .jt i zapisze bazę w formie bitowej.
29+
30+
Wyjście z programu następuje po wybraniu opcji >>6<<. Następuje wtedy zwolnienie pamięci oraz zakończenie działania programu.
31+

bin/Debug/gitara

-703 Bytes
Binary file not shown.

edycja.h

-49
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#ifndef EDYCJA_H_INCLUDED
22
#define EDYCJA_H_INCLUDED
33

4-
void sortuj(element *);
54
void sortuj_budowa(element *);
65
void sortuj_marka(element*);
76
void sortuj_rocznik(element*);
@@ -12,54 +11,6 @@ element * szukaj_rocznik(element *, element*);
1211
element * szukaj_rodzaj(element *, element*);
1312

1413

15-
void sortuj(element *lista)
16-
{
17-
if(lista != NULL)
18-
{
19-
printf("\npo jakim elemencie posortować? 1-rocznik, 2-marka, 3-rodzaj, 4-budowa: ");
20-
int wybor=0;
21-
if ( scanf("%d", &wybor) != 1 )
22-
{
23-
error();
24-
}
25-
else
26-
{
27-
switch (wybor)
28-
{
29-
case 1:
30-
{
31-
sortuj_rocznik(lista);
32-
numeruj(lista);
33-
break;
34-
}
35-
case 2:
36-
{
37-
sortuj_marka(lista);
38-
numeruj(lista);
39-
break;
40-
}
41-
case 3:
42-
{
43-
sortuj_rodzaj(lista);
44-
numeruj(lista);
45-
break;
46-
}
47-
case 4:
48-
{
49-
sortuj_budowa(lista);
50-
numeruj(lista);
51-
break;
52-
}
53-
default:
54-
printf("zła komenda\n");
55-
break;
56-
}
57-
}
58-
}
59-
else
60-
printf("brak gitar w bazie\n");
61-
}
62-
6314
void sortuj_budowa(element *lista)
6415
{
6516
int czy_posortowane = NIE;

gitara.depend

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<stdio.h>
44
"menu.h"
55

6-
1389034288 /home/kuba/github/gitara_lab3/menu.h
6+
1389036301 /home/kuba/github/gitara_lab3/menu.h
77
<stdlib.h>
88
<string.h>
99
<time.h>
@@ -15,5 +15,5 @@
1515

1616
1389033217 /home/kuba/github/gitara_lab3/odczyt.h
1717

18-
1389034329 /home/kuba/github/gitara_lab3/edycja.h
18+
1389036404 /home/kuba/github/gitara_lab3/edycja.h
1919

menu.h

+24-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ void menu(element *lista)
3333
"-------------------\n"
3434
"2 - Wyswietl bazę gitar\n"
3535
"-------------------\n"
36-
"31 - Sortuj po ...\n"
36+
"31 - Sortuj po roku produkcji\n"
37+
"32 - Sortuj po nazwie marki\n"
38+
"33 - Sortuj po rodzaju\n"
39+
"34 - Sortuj po budowie\n"
3740
"-------------------\n"
3841
"41 - Wyszukaj w nazwie marki\n"
3942
"42 - Wyszukaj w rodzaju budowy\n"
@@ -84,7 +87,26 @@ void menu(element *lista)
8487
}
8588
case 31:
8689
{
87-
sortuj(lista);
90+
sortuj_rocznik(lista);
91+
numeruj(lista);
92+
break;
93+
}
94+
case 32:
95+
{
96+
sortuj_marka(lista);
97+
numeruj(lista);
98+
break;
99+
}
100+
case 33:
101+
{
102+
sortuj_rodzaj(lista);
103+
numeruj(lista);
104+
break;
105+
}
106+
case 34:
107+
{
108+
sortuj_budowa(lista);
109+
numeruj(lista);
88110
break;
89111
}
90112
case 41:

obj/Debug/main.o

-2.47 KB
Binary file not shown.

proba.jt

960 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)