CooN [ Generaďż˝ ]
GOLowa strefa programowania - czesc 5.
Oto kontynuacja watku o amatorskim programowaniu, gdzie zwykle rozmowy tocza sie o wszystkim, tylko nie o tym co trzeba ;-]
Ok, troche przesadzilem. Osoby dramatu (kolejnosc nieprzypadkowa):
Przewodnik Syriusza - grafika 2D , uczy się C++
Kastore - Pascal, Delphi , ANSII C, 8051
Zajkos - początkujący w c++
Marcion - Js,php.
alan09 - Pascal, Object Pascal, uczy się i troche zna C++
Regis - php, mysql, uczy sie C++
fifalk - pascal, wciaz uczy sie i troche zna php, js
Cainoor - C, Assembler, Ada95 (soon:)
mORfeOoSH - C++, hateemel, Delphi, Builder
Banan - Pascal, poczatek C, HTML
Qbaa - hatemele, js - troche
Yhans - tp, vb, troszku sql, uczy sie C++
Boobu - grafika 2D, HTML, troche PHP
Jak widac, kazdy na czyms sie zna lub przynajmniej chcialby sie znac, wiec w mysl hasla ongi przez LSD /a moze to byl PSL? /wymyslonego: "razem damy rade!" - jest teoretycznie szansa na rozwiazanie KAZDEGO problemu ;-]
poprzednia czesc:
Luty Tur [ Generaďż˝ ]
jeszcze ja:
poczontkujący w Cobolu i Logo
Andrewlee [ BFXXJ ]
Andrewlee - HTML, PHP, C++
CooN [ Generaďż˝ ]
Jak zwykli byli pisac hardcore'owcy z karczmy:
"porzadkowo do gory ^" ;-]
Poprzednia czesc osiagnela stadium stagnacji totez nawet nie probowalem jej reanimowac /poza tym spasla sie nieco.../
cholera, mam lamiglowke z kopiowaniem tablic w c=c+1
napisze ja jednak nieco pozniej bo:
1\ klawiatura mi wysiada /baterie/
2\ musze to jeszcze przemyslec
Przewodnik Syriusza [ Magazyn Grafik ]
Posłusznie składam meldunek na polu walki.
CooN - a cholera wie z tym kopiowaniem...sam mam ten problem :)
oDMELDOWYWYJE SIE ChAoTyCzNiE
CooN [ Generaďż˝ ]
Obietnicy dotrzymalem.
Otoz dane wyjsciowe sa nastepujace (rzecz ma miejsce oczywiscie w c++):
int tab1[]=3,4,6,8,10,5,7,2,1,0;
int tab2[10], tab4[7];
int *wsk1, *wsk2;
na poczatek kopiuje tab1 do tab2 (po wczesniejszym ustawieniu wskaznikow na poczatki obu tablic):
for(int i=0; i<10; i++)
*(wsk2++) = *(wsk1++);
teraz glowny punkt programu :
wsk2=&tab2[2]; //zalozmy, ze zaczynam od elementu o indeksie 2, czyli w tym przypadku bedzie to liczba 6
wykonuje teraz wstawianie liczb z tab2 do tab4 taka oto trywialna metoda:
for(i=0; i<7; i++)
tab4 = *wsk2;
wsk2+=2; //to dlatego, ze chce miec co druga liczbe
Teraz pytanie odnosnie tej ostatniej czesci (a raczej proba upewnienia sie, czy dobrze mysle a kompilator liczy):
skoro przesuwam wskaznik co 2 miejsca tab2, dosc szybko wyjde poza jej zakres. Juz czwarte przesuniecie powinno pokazywac na element 10 tablicy, ktory przeciez nie istnieje, nie mowiac juz o dalszych przesunieciach.
Czy jest przypadkiem, ze zamiast otrzymac wynik typu:
tab4 = 6, 10, 7, 1, #, #, # gdzie # to jakis smiec
otrzymuje:
tab4 = 6, 10, 7, 1, 3, 6, 10 czyli de facto tak, jakbym sobie tego zyczyl (wskaznik niby kracy po tablicy), a jak byc jednak nie powinno?
CooN [ Generaďż˝ ]
Witam przodownika watku aka pioniera tej tematyki na forum tudziez ojca cyklu.
Od razu przepraszam za ten italic od pewnego momentu. Chcialem ladnie, ale zrezygnowalem...jak widac - nie do konca.
CooN [ Generaďż˝ ]
Dzisiejsza mlodziez nie zna opamietania. Watek juz po kilku godzinach trzeba reanimowac az 5 stron do tylu! ;-)
Wstyd - zeby tak statsowac o pierdolach z cyklu "jakie macie dzisiaj gacie"...
Moze jednak ktos skomentuje moje watpliwosci - przeciez jest NAS tak wielu wiedzacych tak WIELE majacych chyba jednak tak NIEWIELE czasu...
Przewodnik Syriusza [ Magazyn Grafik ]
REANIMACJAAAAAAA
Cainoor [ Mów mi wuju ]
CooN ---> Wydaje mi się, że tak jak piszesz odnośnie tych wskaźników byłoby w C. Natomiast w C++ jest juz to przemyślane bardziej inteligetnie.Albo masz niezłego fuksa i w miejscach śmiecie (#) trafiły Ci się odpowiednie wartości :)
CooN [ Generaďż˝ ]
Co do tego fuksa wlasnie sie obawiam.
Dowodziloby temu podobna proba tylko bez kopiowania tablic. Czyli z tab1 bezposrednio wstawiam liczby do tab4. Wychodza smieci. Zaskakiwala mnie wlasnie tylko dzialajaca wersja z 'posrednia' tablica - ta na gorze.
Nic to (jak mawial byl Ordon zdaje sie). Zostaje zrobic mi wersje mniej trywialna w konstrukcji, acz w 100% dzialajaca.
Pancho-Via [ Chor��y ]
CooN --> ten kod to w zasadzie c a nie c++ (taka tylko uwaga)
Markos [ Konsul ]
-----------------_______-----------------------------_______-------------------
----------------|----------|--------|--------|---------|----------|------------------
----------------|----------|--------|--------|---------|----------|------------------
----------------|_______|--------|______|---------|_______|------------------
----------------|-------------------|--------|---------|-----------------------------
----------------|-------------------|--------|---------|-----------------------------
-------------------------------------------------------------------------------------
dobra, to moze teraz ja :D
Mamy na przykład plik o takiej treści:
"Zenek Olek Franek Mietek Antek Rafał"
Chodzi mi o to aby usunąć imię jakiejś osoby z pliku, no niech to będzie przykładowo Mietek. Czy ktoś z was wie czy istnieje jakas funkcja (działająca na tablicach) która to może wykonać? Ew. rzućcie pomysłami.
CooN [ Generaďż˝ ]
Markos---> wyglada na to, ze tylko ja tu ostatnio zagladam z w/w w pierwszym poscie listy osob dramatu. To zas oznacza, ze nie uzyskasz raczej pomocy - zbyt malo jeszcze wiem, by dzielic sie wiedza.
Pancho-Via--> moglbys te uwage jakos uzasadnic?
Quetzalcoatl [ Konsul ]
cainoor - o wskaznikach. chodzi ci o przesuwanie wskaznika na nasterpny element przez ++/+=? niestety/naszczescie to musi dzialac tak jak w C, poniewaz C++ jest rozszerzeniem C i z zalozenia programy z C musza sie bez zadnych przerobek kompilowac identycznie i takim samym wynikiem pod C++ :)
noon - dokladnie - miales farta. mozna by to bylo tlumaczyc poprzez jakies dzialania w stylu INDEX=INDEX%ROZMIAR ale czegos takiego nie ma. poprostu tablica tab2 umiescila sie na stosie TUZ przed tab1 a tuz po tab4 (odwrotnie niz je deklarowales). tak wiec wychodzac poza koniec tab2 trafiles na poczatek tab1 :) sprawdz adresy tab1 i tab2 jak nie wierzysz :P ewentualnie mozesz wykonac prostszy test - zamien int tab2[10],tab4[7]; na int tab4[7],tab2[10]; i juz taki efekt nie zajdzie (no, chyba ze tab4 ustawisz odpowiednio:P)
Quetzalcoatl [ Konsul ]
markos - nie wiem czy funkcja takowa istnieje, ale sadze ze nie, bo zwykle nie pisze sie w bibliotekach funkcji ktore ktos moze sam w 3 minuty napisac :)
oba ciagi znakow (tablice) musza byc zakonczone zerem
4 kropki zastepuja tabulator, ktorego jakos nie da sie tu wklepac (ktos nie pomyślał :P)
txsize to dlugosc 'tekst'u, liczona bez zera na koncu
funkcja napisana dziala zarowno dla tablic dynamicznych , jak i statycznych, gdyz NIE PROBUJE REALOKOWAC tablicy! poprostu przesuwa znaki i zakancza zerem tablice zrodlowa wczesniej niz pierwotnie byla
funkcja zwraca 0 jak jej sie nie uda zamienic, 1 jak uda.
za wszelkie wpadki sorry. nie wrzucalem do kompilatora i nie patrzalem czy dziala. Jezeli cos jest nie tak napisane, to szybko dojdziesz co takiego - walnalem takie komentarze,ze na ich podstawie sam moglbys to napisac w minute :)
bool UsunTekst(char*tablica,char*tekst,unsigned long txsize)
....unsigned long X=0,Y=0;
....if(!tekst||!size)return 1;//nic do zamienienia=>udalo sie zamienic.
....X--;//taki trick aby mozna bylo spokojnie w while(1) zaczac od X++. nie potrzebny jak while(1) zamienisz na for()
....while(1)
........X++;
........while(tablica[X]&&tablica[X]!=tekst[0])X++;//szukamy gdzie mogl wystapic dany ciag znakow
........if(!tablica[X])return 0;//wyszlo za koniec zrodla - nic nie robimy
........//znaleziono pierwsza litere
........Y=0;while(tablica[X+Y]==tekst[Y]&&Y<txsize)Y++;//sprawdzamy czy reszta ciagu sie zgadza
........if(Y!=txsize)continue;
........//litery sie zgadzaja od poczatku 'tekst'u do konca (tzn.zgadza sie N pierwszych liter,
........//przyczym N jest rowne dlugosci 'tekst'u :)
........X+=txsize;//przesuniecie X dokladnie tuż za koniec znalezionego tekstu,backup pozycji pod Y
........while(tablica[X-1])tablica[X-txsize]=tablica[X];X++;
........//linia wyzej: poczawszy od tuz-konca znalezionego podciagu przestawiamy dalsze znaki o txsize do tylu
........//razem z zerem. w efekcie otrzymujemy w tablicy wejsciowej ciag znakow bez danego fragmentu.
........//oczywiscie za nowym koncem ciagu znakow w tablicy jest jeszcze puste miejsce (o dlugosci txsize)
........//ale poki jest zero na swoim nowym miejscu zadnych smieci nie bedzie
........return 1;//skoro juz zamieniono ciag, to koniec z while(1)
........//jezeli chcesz szukac dalej to tu nie usuwaj returna! przepisywanie pozostaych znakow (pietro wyzej)
........//jest delikatnie mowiac nie potrzebnie powtarzane, jezeli zaraz bedzie sie je od nowa przegladac w
........//poszukiwaniu nastepnej 'pierwszej litery'. jezeli chcesz wyszukac wszytskie powtorzenia, to trzeba to
........//troche pozmieniac aby nie trawilo czasu nie potrzebnie ;)
....
nara
Chupacabra [ Senator ]
hehe, a ja nie zaliczylem cwiczen z programowania, mam ^*%$% warunek i bede sie musial gimnastykowac w sierpniu, niech to szlag. Mamy zajecia z bardzo fajnym gosciem. Poprawke z FreePascala pisze kilkanascie osob,polowa dostaje takie banaly, jak szeregowanie 3 liczb, czy tworzenie iluswymiarowej tablicy. Druga grupa dostaje fajniejsze zadania, min tworzenie funkcji robiace jakies dzialania matematyczne, biorac pod uwage rachunek prawdopodobienstwa i jakies liczby przyblizone. Pieknie. +pare rownie zakreconych zadan, ktorych zrozumienie stanowilo nie lada problem, a wykonanie,,, Wynik zaliczenia: ludzie z pierwszej grupy: prawie wszyscy zaliczyli, druga grupa, eee, nikt:( Zgadnijcie w ktorej bylem
LooZ^ [ be free like a bird ]
Witam szanownych programistow i grafikow ;) Od pewnego czasu zajmuje sie grafika w pewnej grze o ktorej narazie nie moge mowic ;) W kazdym razie stworzylem takie cos, ale zarowno ja jak i tworca tejze gry uwazamy to za zbyt "hermetyczne". Bylbym wdzieczny za wszelkie rady cobyscie zmienili i w jaki sposob:) Pozdrawiam i dziekuje :)
Terrag [ Pretorianin ]
Witam wszystkich... . Ludziska mam pewien problem. Proszę się nie śmiać... ja po prostu chcę zasięgnąć rady specjalistów i wiedzieć, czy to co zaraz powiem (napiszę), jest możliwe... . No więc chciałbym się dowiedzieć, czy istnieje w Pascalu możliwość wprowadzenia do pisanego programu rzeczy takich jak zaznaczenie, skopiowanie (Ctrl+C) czy też wklejanie (Ctrl+V) wpisywanego tekstu ??? Ewentualnie jak można (czy można) przesłać cokolwiek do schowka korzystając z Pascala ??? Fajnie by było, gdyby któryś z Was mógłby mi odpowiedzieć :). Aha i jeszcze coś - potrzebuję jakiejś dobrej książki o Pascalu... troszkę ciekawszą, niż te wszystkie sieciowe kursy, które ograniczają się do samych podstaw :(... może zapodałby ktoś jakąś ciekawą pozycję ??? Sorx, jeśli któryś z w/w problemów był opisywany w poprzednich częściach... . Pozdrawiam.
reik [ Pretorianin ]
CooN:
zerknij na deklaracje tablic:
..
int tab2[10], tab4[7];
..
otrzymujesz
tab4 = 6, 10, 7, 1, 3, 6, 10
bo kopiujesz dane z tab2, a potem gdy się ona skończy (wskaźnik wyjdzie poza nią) to bierze dane z tab4, która jest w pamięci ZA NIĄ (zresztą zerknij na ostatnie 2 liczby 6, 10.. czy ci nie przypominają początku tab4..? :-)
A tak na poważnie to radziłbym zainterewsować się STL'em (zbiorem temlate'ow takch jak string, mapa, zbiór, wektor i mase innych drobiazgów) i klasą vector. Programowanie stanie się wtedy przyjemniejsze.
PS. Pisz wyraźniej - zamiast
for(int i=0; i<10; i++)
*(wsk2++) = *(wsk1++);
naskrob:
for(int nIndex=0; nIndex<10; ++nIndex, ++wsk2, ++wsk1)
*wsk2 = *wsk1;
albo jeszcze lepiej:
for(int nIndex=0; nIndex<10; ++nIndex)
wsk2[nIndex] = wsk1[nIndex];
będzie ci łatwiej toto debugować...
CooN [ Generaďż˝ ]
Cieszy mnie fakt, ze wciaz mozna tu uzyskac pomoc :-)
Dzieki Quetzalcoatl i reik!
Z template'ami jeszcze sie nie spotkalem, ale z pewnoscia sie tym w niedalekiej przyszlosci zainteresuje. Wypadaloby jednak wpierw poznac te podstawy C++ (czytam "Symfonie C++" Grebosza, stad wiec taki moj styl pisania).
Zdradz mi jeszcze reik - dlugo siedzisz w tym 'biznesie' (mam na mysli glownie C++)?
Terrag--> o Pascalu pojecia nie mam, ale jeslichodzi o ksiazki, to chyba najlepsze tutaj: www.helion.pl Z drugiej strony i tak ciezko jest zwykle wybrac cos dobrego - jednym sie podoba, innym nie; a czy nam sie spodoba? To tez inna sprawa :-)
reik [ Pretorianin ]
CooN: od 5 lat. Przy czym porzadnie od 3 lat (odkad zaczalem prace).
CooN [ Generaďż˝ ]
reik--> a jesli mozna wiedziec, to w czym sie specjalizujesz?
Zmodyfikowalem ten fragment z tablicami. Jak ktos ma ochote, to moze okiem rzucic i skomentowac ;-)
for(i=0; i<7; i++)
tab4=*wsk2;
if(wsk2==&tab2[8]) wsk2=&tab2[0]; //przypominam, ze tab2 ma 10 elementow
else
if(wsk2==&tab2[9]) wsk2=&tab2[1];
else wsk2+=2;
W kazdym razie wyglada na to, ze dziala.
CooN [ Generaďż˝ ]
Ale skryptowy tlumok!
Zjadl tablicowe "i"
nawet sygnaturke pochylil ;-)
reik [ Pretorianin ]
CooN: w czymś co ładnie się nazywa 'technologie internetowe'. Głownie duże dedykowane systemy dla różnych instytucji
Przewodnik Syriusza [ Magazyn Grafik ]
AAAAAAAAAAAAPppppppppp
Wazz uuuuuuuuuuuuaaaaappp
Przewodnik Syriusza [ Magazyn Grafik ]
Łoz aaaaaaaaaaaaaaaaap
LooZ^ - niech zgadne. Manager Koszykowki? mozna rozpoznac po tym ze w polu trener/specjalizacja jest skrzydlowi :)) chcialbys wspolpracowac z Double Productions? Link ponizej. I nie koniecznie w Dakarze...
Prezes_Krzychu [ PREZES ]
Witam....
Maly problemik...dla wielu zapewne banalny :D
otorz:
program generuje liczby z zakresu 0-1000...wartosc liczb przechowywana jest w zmiennej "liczba"(jest ona typu long int)...maly problemik polega na tym ... Jak zapisywac wartosci do pliku??
Dzieki i pozdrawaim!!!
Prezes_Krzychu [ PREZES ]
...oczywiscie chodzi o C lub C++ :p
reik [ Pretorianin ]
FILE* filePtr = fopen("C:\\MOJPLIK.TXT", "w");
if (filePtr)
fwrite("tajne dane", 1, strlen("tajne dane"), filePtr);
fclose(filePtr);
Prezes_Krzychu [ PREZES ]
..tak tak..mozna zapisac ale... tekst w cudzyslowie....ja chce zrobic cos takiego...
generuje sobie liczbe
stan = rand() % 1000;
i pozniej ja do pliku chce zapisac.....
Prezes_Krzychu [ PREZES ]
up...up
Zenedon [ Oi! Boots&Braces Oi! ]
Zna ktoś z was dobrą stronę z tutorialami do biblioteki Allegro?
mORfeOoSH [ NULL ]
Przewodnik Syriusza ==> w watku o grafice dojrzalem screenshota jakiegos systemu w wersji alfa; jak ida prace? :)
Przewodnik Syriusza [ Magazyn Grafik ]
Dobrze :)
reik [ Pretorianin ]
Prezes_Krzychu: a o funkcji sprintf słyszałeś..?
..
long lValue = 1945;
char pcData[100];
sprintf(pcData, "%ld", lValue);
fwrite(pcData, 1, strlen(pcData), filePtr);
..
Cracko [ Gladiator ]
panowie szacunek dla int01h -> https://ipe.ath.cx/tmp/collin9_rar.exe
mORfeOoSH [ NULL ]
^ UP ^
co jest z watkiem?! piszcie ludzie!
a Ty, Przewodnik Syriusza, rzuc pare screenow z systemu:)
Rav_s [ Konsul ]
UP
banan [ Leniwiec Pospolity ]
jest ktos na sali kto sie zna na VBA??
potrzebna pomoc:)
Cainoor [ Mów mi wuju ]
Oj dawno mnie tu nie było...
Jednak wczoraj dostałęm pracę semestralną do napisania w C++, więc pewnie od czasu do czasu będę tu zaglądał.
banan ---> Not me.
mORfeOoSH [ NULL ]
Cainoor ==> o czym prace piszesz? jakis maly windowsik? gierka 4D? :)
Rav_s [ Konsul ]
Up
ze tak powiem
mORfeOoSH [ NULL ]
jeee raz na 12 dni watek jest reaktywowany:P
Rav_s [ Konsul ]
Dobrze byloby zeby jednak watek nie zniknal. Zawsze ktos moze miec kiedys jakis problem (np. ja :D ) i wtedy bedzie gdzie sie zapytac (o ile ludzie maja jeszcze ten watek podwieszony).
Rav_s [ Konsul ]
Nie wiem czy jeszcze ktos ten watek czyta, ale:
Mam pytanie jezeli chodzi o PHP i mysql tzn, czy mozna tak skonfigurowac mysql, zeby robic joiny. W dokumentacji pisze ze jest taka mozliwosc tzn trzeba ustawic zmienna: $cfg['Servers'][$i]['relation'], stworzyc odpowiednia tabele itd, ale robie to krok po kroku i mi jakos nie wychodzi. Wie moze ktos cos na ten temat?
Cainoor [ Mów mi wuju ]
Help.
Visual C++ 6.0
Tworzę AppWizard'em projekt. Utworzył mi z 4 główne klasy (doc, view itd). I teraz pytanie:
W jaki sposób mogę dodać własne klasy ? ClassWizard'em ? Jeśli tak to proszę by ktoś mi wytłumaczył jak to się robi.
Np. Chcę dodać class Alkohol ; ale nie wiem w które miejsce ją wstawić itd...
ShadowNET [ SNC WS1 ]
Php-nuke.. HEEELP tworzenie themesow i modulow (jakis sensownych boto co znalazlem tlumaczy to jak stworzyc pliik w notatniku ale co w nim wpisac to juz nie bardzo )
Rav_s [ Konsul ]
Cainoor -> Z boku po lewej masz liste wszystkich plikow lub klas (w zaleznosci jak ustawisz). Jezeli bedziesz chcial dodac nowa klase to ustaw, zeby wyswietlalo liste wszystkich klas nalezacych do danego projektu. Gdy najedziesz na projekt i nacisniesz prawy przysk myszy jest m.in. add new class i tam wlasnie dodajesz wlasne klasy. Jezeli ma to byc zwykla wydzielona klasa, nie dziedziczaca z zadnego mfc to musisz ustawic, ze chcesz wybrac generic class.
Cainoor [ Mów mi wuju ]
Rav_s ---> Dzięki. Jednak zdecydowałem się na pisanie na konsole, bo za dużo bawienia miałbym z tymi okienkami.
Pytanie:
Możecie pomóc wymyśleć mi atrybuty do klas takich jak:
Alkohol
Wino, Piwo :-)
Robię katalog i np wymyslilem już takie rzeczy jak: nazwa, ilość_procent, rocznik (dla Winka) .. macie jakieś oryginalne pomysły ? :D
Rav_s [ Konsul ]
Cainoor --> Jezeli piszesz pod konsole w Visual C++ 6.0 to w ten sposob tez mozesz dodawac klasy (a nawet musisz). Zdecysowanie odradzam pisanie wszystko w jednym pliku.
Co do atrybutow to moze jeszcze smak? np dla wina: wytrawne, polwytrawne, slodkie, dla piwa: porter, jasne.
Pamir [ Generaďż˝ ]
Witam programistów! Ponieważ zaczyna mi się nudzić pisanie kolejnych liczących coś bezsensownego algorytmów w trybie dosowym postanowiłem przejść na coś "wizualnego". No i teraz moje pytanko: Borland C++ Builder czy Visual C++ ??? Jakie macie doświadczenia z tymi środowiskami? czym się różnią i co mam wybrać.....
POzdrowienia Pamir
mORfeOoSH [ NULL ]
mysle, ze Borland C++ Builder; jest prostszy w obsludze, itp... a z czasem - Visual C++
snowman [ Konsul ]
sorki że zapytam wielkich programistów ale czy w końcu udało wam sie coś napisać czym można by się było pochwalić tutaj na forum?? ot taka głupia gierka typu zjedz kropke ( pac man ) ???
Pamir [ Generaďż˝ ]
mORfeOoSH >> chodzi o to co jest lepsze, i do czego znajdę więcej pomocy w necie...
snowman >> spoko, tylko się zdecyduje w czym to zrobię i na pewno opublikuje na łamach forum :-D
POzdrowienia Pamir
tomek4 [ Centurion ]
snowman -> zobacz u mnie
Cainoor [ Mów mi wuju ]
snowman ---> Katalog alkoholi może być ? Juz mam zrobiony katalog rowerowy, a teraz mecze sie nad tym...
Niestety wszystkie spacje zostaną "zjedzone" :(
#include <iostream.h>
#include <string.h>
enum TypAlkoholu Piwo1, Wino1, Tekla1 ;
static char *tabAlkoholi[]="Piwo", "Wino", "Tequilla";
class Sklep ;
class Alkohol
friend Sklep;
// friend void drukuj(Alkohol *wz, ostream &wy);
public:
Alkohol(TypAlkoholu, char*, int, int, int);
virtual ~Alkohol() ;
// void Dodaj(Alkohol*);
// virtual void czymJest(ostream&);
/* virtual void Szukaj();
virtual void Usun();
virtual void Edytuj();*/
//protected:
char *typ;
char *nazwa;
int procent;
int indeks;
int liczba;
Alkohol *nast;
TypAlkoholu typAlk;
private:
float cena;
;
Alkohol::Alkohol(TypAlkoholu typA, char *nzw, int proc, int ind, int licz):nast(0), typAlk(typA)
nazwa = new char[strlen(nzw)+1];
strcpy(nazwa, nzw);
procent = proc;
indeks = ind;
liczba = licz;
;
/*void Alkohol::Dodaj(Alkohol *al)
al->nast = nast;
nast = al;
;*/
/*void Alkohol::czymJest(ostream &wy)
wy << "Typ alkoholu: " << tabAlkoholi[typAlk] << endl;
wy << "Nazwa alkoholu: " << nazwa <<endl;
wy << "Liczba procent: " << procent << " %" << endl;
wy << "Indeks: " << indeks << endl;
wy << "Na skladzie: " << liczba << endl;
*/
class Piwo:public Alkohol
public:
Piwo(TypAlkoholu, char*, int, int, int, char*, char*, char*);
~Piwo() ;
// void czymJest(ostream&);
char *browar;
char *rodzaj;
char *pojemnik;
;
Piwo::Piwo(TypAlkoholu typA, char *nzw, int pro, int ind, int licz, char *bro, char *rodz, char *poj):Alkohol(typA, nzw, pro, ind, licz)
browar = new char[strlen(bro)+1];
strcpy(browar, bro);
rodzaj = new char[strlen(rodz)+1];
strcpy(rodzaj, rodz);
pojemnik = new char[strlen(poj)+1];
strcpy(pojemnik, poj);
;
/*void Piwo::czymJest(ostream &wy)
//statyczne wywolanie metdoy Alkohol::czymJest()
Alkohol::czymJest(wy);
wy << "\tBrowar:\t" << browar << endl;
wy << "\tRodzaj: " << rodzaj << endl;
wy << "\tPojemnik: " << pojemnik << endl;
;*/
class Wino:public Alkohol
public:
Wino(TypAlkoholu, char*, int, int, int, int, char*, char*);
~Wino() ;
// void czymJest(ostream&);
protected:
int rocznik;
char *kolor;
char *rodzWina;
;
Wino::Wino(TypAlkoholu typA, char *nzw, int pro, int ind, int licz, int rocz, char *kol, char *rodW):Alkohol(typA, nzw, pro, ind, licz)
rocznik = rocz;
kolor = new char[strlen(kol)+1];
strcpy(kolor, kol);
rodzWina = new char[strlen(rodW)+1];
strcpy(rodzWina, rodW);
;
/*void Wino::czymJest(ostream &wy)
Alkohol::czymJest(wy);
wy << "\tRocznik: " << rocznik << endl;
wy << "\tKolor: " << kolor << endl;
wy << "\tRodzaj wina: " << rodzWina << endl;
;*/
enum rTekli Silver, Gold;
static char *tabTekli[]="Silver", "Gold";
class Tekla:public Alkohol
public:
Tekla(TypAlkoholu, char*, int, int, int, rTekli, char*);
~Tekla() ;
// void czymJest(ostream&);
protected:
rTekli rodzTekli;
char *robak;
;
Tekla::Tekla(TypAlkoholu typA, char *nzw, int pro, int ind, int licz, rTekli rodT, char *rob):Alkohol(typA, nzw, pro, ind, licz), rodzTekli(rodT)
robak = new char[strlen(rob)+1];
strcpy(robak, rob);
;
/*void Tekla::czymJest(ostream &wy)
Alkohol::czymJest(wy);
cout << "\tRodzaj: " << tabTekli[rodzTekli] << endl;
cout << "\tRobak: " << robak << endl;
;
ostream&
operator <<(ostream &wy, Alkohol &al)
al.czymJest(wy);
return wy;
;
/*void drukuj(Alkohol *wz, ostream &wy=cout)
while(wz)
wz->czymJest(wy);
wy << endl;
wz = wz->nast;
;
;*/
Pamir ---> Bierz się za Borlanda :)
Przewodnik Syriusza [ Magazyn Grafik ]
ReAkTyWaCjA
Cainoor [ Mów mi wuju ]
Przewodnik Syriusza ---> I bardzo dobrze :-) Sam miałem na to ochote.
Pytanko:
Ma ktoś w swoich zbiorach C++ algorytm sortowania (najlepiej jako oddzielną klase) cobym mógł ją wykorzystać ?
_Robo_ [ Generaďż˝ ]
Przeciez jest gotowy quicksort.
Przewodnik Syriusza [ Magazyn Grafik ]
Cainoor -> mów mi Syriusz :D
Cainoor [ Mów mi wuju ]
_Robo_ ---> Co to jest ten quicksort ? pierwsze słysze. Normalnie działa w vcl, czy mfc, czy w tym i wtym ?