Tiko35 Opublikowano 13 Stycznia 2006 Zgłoś Opublikowano 13 Stycznia 2006 mam napisac baze danych w c++; stworzyłem takie pliki: bibl.h: #define ROZMIAR 100static int licznik;class CBibl{ private: char tytul[15]; char autor[10]; bool stan; public: CBibl *szukaj(char *); int dodaj(char * ); int usun(char *); CBibl(int r); CBibl(); void drukuj(); }; static CBibl tab[ROZMIAR]; bibl.cpp: #include<iostream>#include "bibl.h"using namespace std;CBibl :: CBibl(){ //nr_telefonu = 0; }void CBibl::drukuj(){ for (licznik =0;licznik<2;licznik++) {printf( "%s", tab[licznik].autor); std::cout<<std::endl;}}int CBibl :: dodaj(char * aut){ if (licznik < ROZMIAR) { strcpy(tab[licznik].autor,aut); cout<<"dodalem: "<<tab[licznik].autor<<endl; return 1; } cout<<"Tablica pełna"; return 0; } CBibl * CBibl :: szukaj(char * aut){ for(int i = 0; i < licznik; i++) if (stricmp(tab[i].autor,aut) == 0) return & tab[i]; else cout<<"Nie znalazlem osoby"; return NULL; } int CBibl :: usun(char * aut){ CBibl *op = szukaj(aut); if (op==NULL) { cout<<"Nie znalazlem autora wiec co mam usuwac?"; return 0; } else { int i; for(i = op - tab; i < licznik -1; i++) tab[i] = tab[i+1]; i--; cout<<"usunalem"; return 1; } } main.cpp: #include<iostream>#include<conio.h>#include "bibl.h"using namespace std;int main(){ CBibl autor; cout<<"\t\tBAZA DANYCH PWSZ"<<endl; cout<<"Menu:\n"; cout<<"1 - dodaj osobe"<<endl<<"2 - usun osobe"<<endl<<"3 - szukaj osoby\n"; cout<<"4 - wyswietl osobe"<<endl<<"5 - ilosc osob w bazie\n\n\n\n\n"; cout<<"Wybierz jedna z powyzszych mozliwosci"; char wybor; cin>>wybor; /* switch(wybor) { case '1': cout<<"Podaj nazwisko"; char nazw[10]; cin>>nazw; autor.dodaj(nazw); break; case '2': autor.usun(nazw); break; } }while(1); */ getch();} I nie wiem jak mam zrobic w programie głownym(main.cpp) tablice która zapamieta dane osób bym nastepnie mógł je wyswietlic..moze ma ktos jakis pomysł? poprostu nie wiem jak zrobic tablice która zapamietywała by te dane a później byłaby mozliwosc ich wyswietlenia, posortowania za pomocą funkcji napisanych w module "bibl.cpp" Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
RaVxX Opublikowano 14 Stycznia 2006 Zgłoś Opublikowano 14 Stycznia 2006 pozdro z PWSZ'ki Ivan! :D dasz rade, ja jeszcze wcale nie mam projektu :blink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SNAKE'83 Opublikowano 17 Stycznia 2006 Zgłoś Opublikowano 17 Stycznia 2006 ten twoj kod to bardzo slaby jest!!! jak robisz baze to chyba nie mozesz nakladac ograniczenia!?! powinienes to zrobic na dynamicznych strukturach, lista - nie optymalna bo dlugo sie wyszukuje dane, drzewa - dobre przeszukiwanie ale koszmarna implementacja Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kobe2005 Opublikowano 17 Stycznia 2006 Zgłoś Opublikowano 17 Stycznia 2006 poczytaj o czyms taki jak listy jedno i dwukierunkowe wtedy problem sie wyjasni.... To jest najprostszy sposob na obsluge bazy danych. Pamietam ile ja sie nameczylem, bo jak to zrobic jesli nie zna sie rozmiarow tablicy itd. pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Megabyte Opublikowano 17 Stycznia 2006 Zgłoś Opublikowano 17 Stycznia 2006 Przypominam że w standardowej bibliotece są klasy do obsługi listy i drzew. Nie trzeba pisać własnych :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 17 Stycznia 2006 Zgłoś Opublikowano 17 Stycznia 2006 Przypominam że w standardowej bibliotece są klasy do obsługi listy i drzew. Nie trzeba pisać własnych :)Jakich drzew dokładnie?? Tylko BST czy też AVL i Czerwono-czarnych? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Megabyte Opublikowano 18 Stycznia 2006 Zgłoś Opublikowano 18 Stycznia 2006 Jakich drzew dokładnie?? Tylko BST czy też AVL i Czerwono-czarnych?O ile dobrze się orientuje to zbiory (klasa std::set) jest implementowana za pomocą drzew czerwono-czarnych. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 18 Stycznia 2006 Zgłoś Opublikowano 18 Stycznia 2006 O ile dobrze się orientuje to zbiory (klasa std::set) jest implementowana za pomocą drzew czerwono-czarnych. Kurcze a mi kazali impelemtnowac AVL i czerwono-czarne, szkoda że nie wiedziałem ze jest implementacja chociaż bym potestował jak się ma wydajnośc moich do standardowych. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...