Fenomen Napisano 30 Listopada 2007 Udostępnij Napisano 30 Listopada 2007 teraz działa :* Cytuj Odnośnik do komentarza
xemi Napisano 3 Grudnia 2007 Autor Udostępnij Napisano 3 Grudnia 2007 Witam. Teraz mam inne pytanie, z zagadnienia projektowania baz danych. Jest sobie forma ktora przedaje wycieczki, wczasy itp. Jest sobie tabela "Zamowienia". Sa w niej informacje ktory klient zamowil jaka wycieczke itd. ale ma byc tez informacja na temad opcji dodatkowych. chodzi o dodatkowe wyzywienie, jakies dodatkowe wycieczki fakultatywne i inne atrakcje. W zwiazku z tym mam pytanie, jak byscie to zaprojektowali, bo kazdy klient moze zamowic inna ilosc dodatkowych opcji, tak ze jedno pole na to to tak srednio moze wystarczyc, wiec jak proponujecie to rozwiazac, bo na razie nie mam za bardzo pomyslu:/ W ogole moze ktos z was ma jakis diagram ERD takiej bazy dla firmy wycieczkowej (a dokladnie sprzedajacej wycieczki) Pozdrawiam! Cytuj Odnośnik do komentarza
Elfiszon Napisano 3 Grudnia 2007 Udostępnij Napisano 3 Grudnia 2007 Hmm, zależy jak opisane są te dodatkowe opcje. Jeśli to tylko nazwa i koszt (lub podobna struktura) to dajesz nowa tabelę z opcjami i kluczem obcym do tabeli zamówienia (relacja n-1). Jeśli dodatki mogą mieć różnorodne opcje, to trzeba bardziej się nagimnastykować. PS. Temat o bazach już jest http://forumcm.net/index.php?showtopic=731 Cytuj Odnośnik do komentarza
xemi Napisano 3 Grudnia 2007 Autor Udostępnij Napisano 3 Grudnia 2007 To jeszcze jedno pytanie.. Jak w PHP wczytac zawartosc pliku linijka po linijce, tak zeby kazda linijka byla oddzielnym elementem w tablicy? Cytuj Odnośnik do komentarza
Gabe Napisano 4 Grudnia 2007 Udostępnij Napisano 4 Grudnia 2007 $plik = explode(';', file('nazwa_pliku')); jeśli linia kończy się średnikiem. O to chodziło? Cytuj Odnośnik do komentarza
Elfiszon Napisano 4 Grudnia 2007 Udostępnij Napisano 4 Grudnia 2007 @Gabe - samo file() zwraca tablicę zawierającą linie z pliku. Explode niepotrzebny. Chyba pomyliło Ci sie z file_get_contents() Cytuj Odnośnik do komentarza
Gabe Napisano 4 Grudnia 2007 Udostępnij Napisano 4 Grudnia 2007 Przekombinowałem Ale PHP to ja znam mało i raczej algorytmicznie (nie znam funkcji, jak chcę coś zrobić, to szukam w manualu , czy taka funkcja istnieje). Cytuj Odnośnik do komentarza
xemi Napisano 4 Grudnia 2007 Autor Udostępnij Napisano 4 Grudnia 2007 @Gabe - samo file() zwraca tablicę zawierającą linie z pliku. Explode niepotrzebny. Chyba pomyliło Ci sie z file_get_contents() Dzieki:) o to wlasnie chodzilo:) teraz problem z baza danych, a razej cos z ze skladnia sql'a:/ ale totalna porazka:/ zwyklu insert into sie wykrzacza:/ ponad 2h siedzialem nad tym:/ moze jakies zacmienie mam, albo nie wiem:/ wczoraj szlo wysztsko obrze a dzis nic sie nie udalo zrobic:/ ale nic kumplowi wyslalem, zobacze co on o tym powie:P a ja z tym problemem uciekam do tematu o bazach, nikt tam jeszcze wwosikowie nie odpisal;) Pozdrawiam:) Cytuj Odnośnik do komentarza
xemi Napisano 7 Grudnia 2007 Autor Udostępnij Napisano 7 Grudnia 2007 to jeszcze raz ja;p chodzi mi teraz o przeciazenie operatorow w c++, prog. obiektowym. Potrzebuje przeciazyc operator <<, jak robie to normalnie to bez problemow dzial, ale jak chce to robic poprzez funkcje zaprzyjazniona to mi nie dziala. jest klasa Stack, jest to stos i ten operato ma dodawac do stosu kolejna wartosc, tak ze w zasadzie jedynym jego argumentem ma byc liczba jaka ma do stosu byc wpisana, ale poprzez funkcje zaprzyjazniona sie tak chyba nie da zrobic. Jak daje jeden arg, to mi pisze ze jest zle, jak dam dwa arg. tzn ta referencje do obiektu tej klasy, orez liczbe jaka ma byc wpisana, to mi pisze ze za duzo arg. Niestey nie moge wkleic kodu bo nie jestem w domu i nie mam go, jak os to postaram sie go jutro wkleic zeby bardziej sprawe rozjasnic. ale prosze bardzo o pomoc, bo do niedzieli musze to zrobic. Pozdrawiam:) Cytuj Odnośnik do komentarza
xemi Napisano 10 Grudnia 2007 Autor Udostępnij Napisano 10 Grudnia 2007 Nie wiem jak zrobic Edita;) Problem rozwiazany, jak ktos by potrzebowal cos z tego to prosze pisac;) Pozdrawiam:) Cytuj Odnośnik do komentarza
Fenomen Napisano 13 Grudnia 2007 Udostępnij Napisano 13 Grudnia 2007 jak napisac metode sprawdzajaca roznowartosciowosc tablicy dwuwymiarowej? Cytuj Odnośnik do komentarza
Manort Napisano 13 Grudnia 2007 Udostępnij Napisano 13 Grudnia 2007 W zwiazku z tym, ze zapanowal tutaj temat javy troche glupie pytanie ale na takie czasem przychodzi czas - jaka funkcja mozna zablokowac okienko programu by sie nie zamykal zaraz po wykonaniu? Cytuj Odnośnik do komentarza
Fenomen Napisano 14 Grudnia 2007 Udostępnij Napisano 14 Grudnia 2007 a kiedy? mozna napisac druga funkcje typu void ktora bedzie konczyla dzialanie innej funkcji gdy spelniony bedzie odpowiedni warunek Cytuj Odnośnik do komentarza
Elfiszon Napisano 14 Grudnia 2007 Udostępnij Napisano 14 Grudnia 2007 Można odpalić program w konsoli, czy też dać pętlę oczekującą na naciśnięcie klawisza na koniec programu. Cytuj Odnośnik do komentarza
Manort Napisano 14 Grudnia 2007 Udostępnij Napisano 14 Grudnia 2007 Wiem, ale wolalbym nie odpalac konsoli dopiero przy Execute . Jak mozesz to o ta petle bym prosil. Klawisz moze byc spacja badz enter Cytuj Odnośnik do komentarza
Fenomen Napisano 15 Grudnia 2007 Udostępnij Napisano 15 Grudnia 2007 mam taki problem mam klasy z nastepujacymi polami: Osoba(string nazwisko, string imie, string pesel) Pracownik (int urlopDoWykorzystania, double pensja) Student (double ocena1, double ocena2) Pracownik i Student dziedzicza wszystkie pola z klasy Osoba tworze sobie tablice obiektow osoba typu Osoba i potrzebuje zrobic myk zeby pracownikowi o danym nazwisku przydzielić daną ilość dni urlopu - dane wczytuje z klawiatury (string nazw, int urlop) mam taki kod: for (int i=0; i<liczba; i++) { if(osoba[i] instanceof Pracownik) { if(nazw.equals(osoba[i].nazwisko)) osoba[i].urlopDoWykorzystania = urlop; } } kompilacja sie wywala z bledem, ze nie mozna odnalezc pola urlopDoWykorzystania, ktore przeciez istnieje w klasie Pracownik... any ideas? Cytuj Odnośnik do komentarza
jakubkwa Napisano 15 Grudnia 2007 Udostępnij Napisano 15 Grudnia 2007 Jedyne co mi przychodzi na myśl to rzutowanie: ((Pracownik) osoba).urlopDoWykorzystania = urlop; Cytuj Odnośnik do komentarza
Fenomen Napisano 15 Grudnia 2007 Udostępnij Napisano 15 Grudnia 2007 dobra, napisalem sobie calego maina, ale teraz nie wszystko dziala tak jak powinno wstawie tutaj fragment kodu: StreamTokenizer strTok = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); System.out.println("Wprowadz nazwisko pracownika:"); strTok.nextToken(); String nazw = strTok.sval; System.out.println("O ile przedluzyc urlop pracownika?"); strTok.nextToken(); int urlop = (int) strTok.nval; int i=0; while (osoba[i] instanceof Student && nazw != osoba[i].nazwisko) i++; { ((Pracownik)osoba[i]).urlopDoWykorzystania += urlop; System.out.println("Nowy urlop pracownika o nazwisku: "+osoba[i].nazwisko+"wynosi: "+((Pracownik)osoba[i]).urlopDoWykorzystania); } System.out.println("Wprowadz nazwisko studenta"); strTok.nextToken(); String nazw2 = strTok.sval; System.out.println("Wprowadz ocene z analizy"); strTok.nextToken(); double ocena1 = strTok.nval; System.out.println("Wprowadz ocene z algebry"); strTok.nextToken(); double ocena2 = strTok.nval; int j=0; while (osoba[j] instanceof Pracownik && nazw2 != osoba[i].nazwisko) j++; { ((Student)osoba[j]).ocenaZAlgebry = ocena1; ((Student)osoba[j]).ocenaZAnalizy = ocena2; } System.out.println("Wprowadz pensje, do ktorej chcesz porownwywac"); strTok.nextToken(); double pensja1 = strTok.nval; for(int k=0; i<liczba; i++) if (osoba[k] instanceof Pracownik) if (((Pracownik)osoba[k]).pensja < pensja1) ((Pracownik)osoba[k]).pensja *= 1.1; System.out.println("Wszyscy pracownicy:"); for(int k=0; k<liczba; k++) { if(osoba[k] instanceof Pracownik) System.out.println(osoba[k]); } System.out.println("Wszyscy studenci: "); for (int k=0; k<liczba; k++) { if (osoba[k] instanceof Student) System.out.println(osoba[k]); } } generalnie rzecz biorac to problem polega na tym ze ewentualne zmiany ze stanu poczatkowego (wpisywanie nowych ocen, podwyzszanie pensji) nie dziala, tzn program to wykonuje, ale gdy potem wywolam metoda wypisujaca wszystkie wartosci to sie okazuje, ze zachowane sa pierwotne wartosci, a nie te "nowe" dla zwiekszania urlopu dziala samo powiekszenie, ale program zmienia te wartosc tylko dla pierwszego obiektu z klasy Pracownik, bez wzgledu na to, jakiego stringa wpisze jako nazwisko (podejrzewam, ze zamiast operatora przyrownania trzebaby zrobic to metodą equals, ale nie udalo mi sie jej poprawnie zastosowac...) moze ktos poradzi jak zrobic, zeby wswietlanie wartosci dzialalo poprawnie i pokazywaly sie te nowe, zmodyfikowane? Cytuj Odnośnik do komentarza
jakubkwa Napisano 15 Grudnia 2007 Udostępnij Napisano 15 Grudnia 2007 Przede wszystkim - masz rację co do użycia metody equals. Jeśli chcesz porównywać napisy, a nie referencje do nich, musisz używać equals Użycie tej metody nie jest trudne, zamiast np. nazw != osoba[i].nazwisko piszesz po prostu !nazw.equals(osoba[i].nazwisko) [CIACH - tu były bzdety, sorka ] Poza tym - druga pętla while i literówka: (osoba[j] instanceof Pracownik && nazw2 != osoba[i].nazwisko) j++; Trzecia pętla, tym razem for, to również literówki: for(int k=0; i<liczba; i++) if (osoba[k] instanceof Pracownik) if (((Pracownik)osoba[k]).pensja < pensja1) ((Pracownik)osoba[k]).pensja *= 1.1; To tak na pierwszy rzut oka Cytuj Odnośnik do komentarza
Fenomen Napisano 6 Stycznia 2008 Udostępnij Napisano 6 Stycznia 2008 takie male pytanko: mam klase Pracownik, ktorej konstruktor wyglada mniej wiecej tak: Pracownik (String nazwisko, double etat) {...} jest tez klasa Urzednik dziedziczaca po klasie Pracownik Urzednik(String nazwisko, double etat, int pensja) {...} oczywiscie nazwisko i etat Urzednika sa dziedziczone z Pracownika (super) teraz musze napisac metode, ktora wygeneruje nowy obiekt (Urzednik) ale moge przekazac w metodzie tylko argumenty (String nazwisko, double etat) nie bardzo wiem jak taki "niepelny" obiekt utworzyc (czy to w ogole mozliwe...) ale tez nie wiem czy moge po prostu wsadzic int pensja = 0 ? Cytuj Odnośnik do komentarza
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.