GRY-Online.pl --> Archiwum Forum

GOLowa strefa programowania - czesc 5.

06.03.2003
16:18
smile
[1]

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:

06.03.2003
16:20
[2]

Luty Tur [ Generaďż˝ ]

jeszcze ja:
poczontkujący w Cobolu i Logo

06.03.2003
16:21
[3]

Andrewlee [ BFXXJ ]

Andrewlee - HTML, PHP, C++

06.03.2003
16:32
[4]

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

06.03.2003
16:59
[5]

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

06.03.2003
17:07
[6]

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?

06.03.2003
17:09
[7]

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.

07.03.2003
00:20
[8]

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...

07.03.2003
17:06
[9]

Przewodnik Syriusza [ Magazyn Grafik ]

REANIMACJAAAAAAA

07.03.2003
17:11
smile
[10]

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 :)

07.03.2003
17:44
[11]

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.

07.03.2003
17:48
[12]

Pancho-Via [ Chor��y ]

CooN --> ten kod to w zasadzie c a nie c++ (taka tylko uwaga)

07.03.2003
18:06
smile
[13]

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.

07.03.2003
22:20
[14]

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?

08.03.2003
01:26
[15]

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)

08.03.2003
01:53
smile
[16]

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

08.03.2003
02:04
smile
[17]

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

08.03.2003
02:06
[18]

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 :)

08.03.2003
08:58
smile
[19]

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.

08.03.2003
09:29
smile
[20]

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ć...

08.03.2003
11:24
smile
[21]

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 :-)

08.03.2003
12:58
smile
[22]

reik [ Pretorianin ]

CooN: od 5 lat. Przy czym porzadnie od 3 lat (odkad zaczalem prace).

08.03.2003
19:31
[23]

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.

08.03.2003
19:36
smile
[24]

CooN [ Generaďż˝ ]

Ale skryptowy tlumok!
Zjadl tablicowe "i"
nawet sygnaturke pochylil ;-)

10.03.2003
10:12
smile
[25]

reik [ Pretorianin ]

CooN: w czymś co ładnie się nazywa 'technologie internetowe'. Głownie duże dedykowane systemy dla różnych instytucji

13.03.2003
21:11
[26]

Przewodnik Syriusza [ Magazyn Grafik ]

AAAAAAAAAAAAPppppppppp

Wazz uuuuuuuuuuuuaaaaappp

22.03.2003
17:13
[27]

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...

23.03.2003
18:04
[28]

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!!!

23.03.2003
18:21
smile
[29]

Prezes_Krzychu [ PREZES ]

...oczywiscie chodzi o C lub C++ :p

23.03.2003
18:51
smile
[30]

reik [ Pretorianin ]

FILE* filePtr = fopen("C:\\MOJPLIK.TXT", "w");
if (filePtr) ‹
fwrite("tajne dane", 1, strlen("tajne dane"), filePtr);
fclose(filePtr);



23.03.2003
20:06
[31]

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.....

23.03.2003
21:22
[32]

Prezes_Krzychu [ PREZES ]

up...up

23.03.2003
21:25
[33]

Zenedon [ Oi! Boots&Braces Oi! ]

Zna ktoś z was dobrą stronę z tutorialami do biblioteki Allegro?

23.03.2003
22:19
[34]

mORfeOoSH [ NULL ]

Przewodnik Syriusza ==> w watku o grafice dojrzalem screenshota jakiegos systemu w wersji alfa; jak ida prace? :)

23.03.2003
22:22
smile
[35]

Przewodnik Syriusza [ Magazyn Grafik ]

Dobrze :)

24.03.2003
09:48
[36]

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);
..

26.03.2003
14:28
[37]

Cracko [ Gladiator ]

panowie szacunek dla int01h -> https://ipe.ath.cx/tmp/collin9_rar.exe

29.03.2003
12:48
[38]

mORfeOoSH [ NULL ]

^ UP ^

co jest z watkiem?! piszcie ludzie!
a Ty, Przewodnik Syriusza, rzuc pare screenow z systemu:)

10.04.2003
00:42
[39]

Rav_s [ Konsul ]

UP

12.04.2003
11:34
[40]

banan [ Leniwiec Pospolity ]

jest ktos na sali kto sie zna na VBA??
potrzebna pomoc:)

12.04.2003
11:37
[41]

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.

12.04.2003
12:13
[42]

mORfeOoSH [ NULL ]

Cainoor ==> o czym prace piszesz? jakis maly windowsik? gierka 4D? :)

24.04.2003
22:45
[43]

Rav_s [ Konsul ]

Up

ze tak powiem

24.04.2003
22:57
[44]

mORfeOoSH [ NULL ]

jeee raz na 12 dni watek jest reaktywowany:P

24.04.2003
23:42
[45]

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).

02.05.2003
22:03
[46]

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?

10.05.2003
19:14
smile
[47]

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...

10.05.2003
19:22
[48]

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 )

11.05.2003
19:11
[49]

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.

11.05.2003
19:21
smile
[50]

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

11.05.2003
20:32
[51]

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.

28.05.2003
06:55
smile
[52]

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

28.05.2003
08:58
[53]

mORfeOoSH [ NULL ]

mysle, ze Borland C++ Builder; jest prostszy w obsludze, itp... a z czasem - Visual C++

28.05.2003
12:57
smile
[54]

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 ) ???

28.05.2003
14:54
[55]

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

28.05.2003
15:35
[56]

tomek4 [ Centurion ]

snowman -> zobacz u mnie

28.05.2003
15:35
[57]

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 :)

04.06.2003
21:31
[58]

Przewodnik Syriusza [ Magazyn Grafik ]

ReAkTyWaCjA

04.06.2003
21:33
smile
[59]

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ć ?

04.06.2003
21:56
[60]

_Robo_ [ Generaďż˝ ]

Przeciez jest gotowy quicksort.

04.06.2003
22:01
[61]

Przewodnik Syriusza [ Magazyn Grafik ]

Cainoor -> mów mi Syriusz :D

04.06.2003
23:02
smile
[62]

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 ?

© 2000-2024 GRY-OnLine S.A.