Skocz do zawartości

Polar

Stały użytkownik
  • Postów

    1875
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    4

Treść opublikowana przez Polar

  1. Polar

    Nic Nie Czaje :)

    Zastanów sie co mówisz? No chyba że masz na myśli "każdy nowy zarządzany język" wtedy przepraszam z tym sie zgadzam. Język niezarządzany musi mieć wskaźniki bo one zwiekszają niekiedy prędkość o kilkaset procent. Potrzeba chwili na pewno nie będzie wieksza niż potrzeba wysokiej wydajności... Ludzie zrozumcie że dla okienkowych, standardowych progsów wcale nie trzeba używać wskaźników bo po co? Ale tam gdzie chodzi o np prace na tablicach gdzie są przechowywane wielkie ilości danych, związane choćby z przetwarzaniem grafiki szukaniem i wieloma innymi pierodłami, wskaźniki są jedynym sensownym rozwiązaniem, nie eee , nie bee tylko tak.. :wink: Zasada jest taka że: jak sie nie chce to nie używać i tyle, ale trzeba wiedzieć jedno że bezpośrednia praca z pamięcią zawsze będzie potrzebna i konieczna do działania choćby systemów operacyjnych a do tego głównie sa potrzebne wskaźniki i raczej nie zapowiada sie żeby coś nowego miało je zastąpic.
  2. Polar

    Dev C++ 4.0

    A np. po to że w bibliotece conio są wyjątkowo szybkie i równie pomocne instrukcje typu getch() i wiele innych, wygodniejszych i wydajnieszych niż w całej reszcie podobnych bibliotek łacznie ze standardową.
  3. Temat sprzeczny z regulaminem, dziwne że żaden editblocker jeszcze nie zablokował go.
  4. A co tu jest do zdradzania ??? Pisz kod zgodny z ISO C++ a wtedy błędów nie będzie. A co do ustawień środowiska to chyba nie tak cięzko wejść sobie w opcje środowiska/edytora i pozmieniać pare rzeczy i przy okazji zmienić sobie kontrast tła edytora z białego na szare żeby wzroku nie psuło... ( białe tło + ciemna czcionka do tego półmrok w pokoju = psucie wzroku ) jakby ktoś jeszcze nie wiedział wiadomo to od paru dekad.
  5. WTF u want? Przeca nikt tu nie jest wróżką i nie zna jednocześnie twojego pytnia i odpowiedzi na nie.
  6. Polar

    Funkcja I Wskazniki

    Można ale po co, bawić sie w pseudo programowanie, tu aż sie prosi aby utworzyć sobie prostą klase i działać tylko na niej. Jak poniżej. #include <iostream>using namespace std;class Pomiar {private: double wys, wynik, zasieg, predkosc;public: Pomiar(double w, double z, double p) { wys = w; zasieg = z; predkosc = p; } void obliczanie_czegos() { wynik = wys*predkosc/zasieg; } void pokaz_wynik() { cout << wynik; } };int main(){ Pomiar nowy(24.5, 100.0, 200.5); nowy.obliczanie_czegos(); nowy.pokaz_wynik(); cin.get(); return 0; } W okienku będzie rysował ale trzeba uzyć jakąś biblioteke graficzną np w borland 3.1 jest dość ciekawa
  7. Z polami bitowymi to może być różnie na różnych kompilatorach, podaj wiecej informacji na jakim pracujesz, i dobrze bybyło abyś podał cały program m.in. te miejsca gdzie wysyłasz do portu te dane. Wróżką nikt nie jest, ale może to kwestja rozmieszczenia zmiennych wpisanych do pól, spróbój przedzielić zmienne polem o wart. 0 co powinno spowodować że nowe pole zacznie sie od nowego 32 bit segmentu, noi wypadało by też popróbować z róznymi dlugościami pól bitowych. ;] #include <iostream>using namespace std; class ramka {public: unsigned int add :4, :0, fun :4;};int main(){ ramka obj; obj.add=0x03; //address obj.fun=0x03; //function cout << "\nPracujemy w trybie MASTER\n" << endl << obj.add << endl << obj.fun << endl << "Znak Wartosc= " << obj.add << " " << obj.fun; cin.get(); return 0; } Podaj wiecej szczegółów. :blink: , nie za bardzo rozumiem , no ale być może to taki "szczegół". W każdym razie podaj najlepiej cały program.
  8. Polar

    Funkcja I Wskazniki

    w zasadzie moga być 3 takie zapisy dla wskaźników: double wart; 1) double * const wsk1 = &wart; 2) const double * wsk2 = &wart; 3) const double * const wsk3 = &wart; 1. stały wsk. raz ustawiony i koniec, można przez niego tylko wpisywać do wart 2. wskaźnik do stałej, może być ustawiany na różne wart ale nie może do nich wpisywać nic 3. stały wskaźnik do stałej, może być ustawiony tylko raz i nie można przez niego nic wpisywać taki do wart //... cin.sync(); cin.get(); cin.sync(); pisze z przyzwyczajenia przydaje akurat tutaj bo przydaje sie przed cin.get() kiedy już jakieś wpisy były wykonywane z klawiatury cin.get(); czeka na znak z klawiatury + Enter żeby sie prog nie wyłanczał //... można np w BC++ 3.1 trzeba uruchomoić tryb graficzny init graph o ile pamiętam, można też w builderze rysować w canvas lub .net System.Drawing; o ile pamiętam
  9. Polar

    Funkcja I Wskazniki

    A wiec tłumacze jak osobie początkującej we wskaźnikach: #include <iostream>#include <cmath>using namespace std;void zasieg(const double * const Vo, const double * const alfa, double * const zas){ *zas = *Vo**Vo*sin(*alfa*3.14*2/180); // sadyzm i masochizm, działania na tych wskaźnikach;]} // plus tak dla jaj wszystko jako 1 wyrażenie int main(){ double alfa, Vo, zas, k; cout << "Podaj predkosc w m/s\n"; cin >> Vo; cout << "Podaj kat\n"; cin >> alfa; zasieg(&Vo, &alfa, &zas); // wpisanie adresu zmiennych do wskaźników cout.precision(3); // które już czekają w argumentach fukcji cout << "Zasieg \n"<< zas <<"m\n"; cin.sync(); cin.get(); return 0;} Zaleta : Wskaźnik w argumencie funkcji ustawiony na adres orginalnej zmiennej, zmienia orginał dlatego nie musi być już zwrotu rezultatu funkcji (w tym przyp. było by to przyokazji bezsensu), boskie zabezpieczenia const w argumentach niedopodjeb...ania Wada : Zapis jest równie boski Alternatywa : Referencje zamiast wskaźników są tu raczej koniecznością #include <iostream>#include <cmath>using namespace std;void zasieg(const double & Vo, const double & alfa, double & zas){ zas = Vo*Vo*sin(alfa*3.14*2/180); // tu już jest ładnie} int main(){ double alfa, Vo, zas, k; cout << "Podaj predkosc w m/s\n"; cin >> Vo; cout << "Podaj kat\n"; cin >> alfa; zasieg(Vo, alfa, zas); // i tu też;] cout.precision(3); cout << "Zasieg \n"<< zas <<"m\n"; cin.sync(); cin.get(); return 0;} Zaleta : podobna jak wyżej a dodatkowo brak "wad" tamtego zapisu ps. jakby coś było nie tak to sry ale oczy mi sie już kleją
  10. Polar

    Problem Z Zadaniem

    tu brakuje drukropka : , kiedy jest stosowany operator trójkowy z ? musi być też dwukropek [?:] lub [? xxx : yyy], to wyrażenie jest niekompletne w tym przypadku wklej sobie i spróbuj skompilować.... podaj całe wyrażenie jakie ma być wtedy nie będzie problemu z rozszyfrowaniem popatrz do ksiązki na priorytek operatorów i wszyskto ci sie zozjaśni + - * ? %
  11. Polar

    Debugowanie W C++

    No dlatego mówie :lol2: cza poczekać do premiery a premiera pewnie ma oficjalnie być za te kilka dni i sie zobaczy. Chociaż jakby nawet było za te 250 zł to bym sie nie obraził. A na pewno by odżyli pseudo developerzy piszący programy na sharpdevelop :blink: :blink: :blink: Niestety , przynajmniej jak dla mnie, wadą VC++ .NET będzie.... sam .NET :blink: MC++ w wydaniu mikrosoftowym wygląda fatalnie i można dostać migreny od uczenia przeuczania się go z czegoś wygodnego np. BC++ Builder i VCL, gdzie to połączenie C++ i VCL było bardzo płynne (na 1 rzut oka widać żę nazwy i działanie kontrolek .NET całymi garściami czerpią z VCL ). Prawdziwe bagno robi sie gdy program korzysta jednocześnie z C std. libr, klasy iostream, i biblioteki .net - to jest dopiero LOL. <_< Zarządany C++ to męka pańska. Jak jakomś okienkową aplikacje trzeba to zdecydowanie lepiej w VC# .NET niż zastanawiąć sie pół dnia , którą kompilacje wybrać i co pisać... wielki lol dla MS
  12. Polar

    Debugowanie W C++

    No 7 listopada premiera więc zobaczymy co napiszą w licencji bo to jest najważniejsze. Być może będzie tak, że będzie tylko można sobie pisać kod ale nie wolno na nim zarabiać tylko jako freeware rozprowadzać, ale tak już jest od dawna wiec wszystko wskazuje że będize to coś wiecej. Zresztą po premierze .net 2 edytory będą sie pojawiać jak grzyby po deszczu dlatego pewnie sami chcą wydać swój dla promowania.
  13. Polar

    Debugowanie W C++

    Tymbardziej że premiera VS 2005 zbiega sie z premierami darmowych Expressów .NET : C++ , C# , Java# i VB , będą legalne za free i na 99% będzie można tworzyć kod komercyjny ;] ;];]
  14. Polar

    Polskie Litery W C++

    Ogólnie sytuacja z konsolą + polskiimi znaczkami jest patowa, można tak jak już sie domyśliłes to zrobić lub też przed kompilacja przejechać plik .cpp czy .c z kodem - programem FCONVERT ze starego pakietu Borland 3.1 wybrać opcje Ansi to OEM i taki kod dopiero skompilować , ten sposób przydaje sie też do innych rzeczy. Jest ogólnie pare sposobów a pisanie bez polskich ogonków jest jednym z nich.
  15. użyj szukania, na ten temat przelano już megabajty tekstu.....
  16. mozna też zatrzymać wykonywanie tak : cin.get(); lub getchar(); a jeśli w programie były jakieś operacje na klawiaturze to warto to zrobić dwoma instrukcjami: //............. cin.sync(); cin.get(); //............. cin.sync(); przydaje sie ponadto w wielu innych sprawach...
  17. Prawda ale to nie jego wina to bardziej wina "uczących" c++ i narzędzi na jakich pracują, niestety także "rutyna" tych ludków co uczą powoduje "śmiech na sali". A zresztą piszta co chceta ;]. Swoją drogą najlepiej wspominam okienkowe wersje kompilatorów borlanda z 96/97 r wersje 4.5 i 5.02 dobrze sie na nich pracowało i jak na tamte czasy mnogośc opcji mile mogła zaskoczyć.
  18. A po kiego czorta mu taki śmieć jak 3.1 przeca jest tyle nowoczesnych kompilatorów choćby devc++, który trzeba jednak mocno poustawiać,ale wtedy jest bardzo dobry do uzytku. No tak w szkole działa , tylko że na jakiś zabytkowych kompilatorach ;], po co uzywac zabytków skoro jest tyle dobrych i darmowych narzędzi.
  19. I nic dziwnego ze były błedy bo to ani ni jest c++ ani c , napisz to zgodnie ze standardem c++ to wtedy skompiluje sie poprawnie na kazdym kompilatorze. #include <iostream>using namespace std;int main(){ float a,b; system("cls"); cout << "Rownanie liniowe postaci ax + b = 0\npodaj a i b\n"; cin >> a >> b; if(!a) { if(!b) cout << "Istnieje nieskonczenie wiele rozwiazan"; else cout << "Brak pierwiastk˘w rzeczywistych"; } else cout << "Pierwiastek powyľszego r˘wnania x = " << -b/a; cin.sync(); cin.get(); return 0;}
  20. 1. Są dwa powody: - do tablicy zostaje wpisanych wiecej wartości niz można - jeśli plik nie istnieje to i tak trzeba albo wyjść z tej funkcji return; ( tak jak ja zrobiłem ) albo umieścic ewentulane operacje na pliku w else //... Zdecydowanie prościej i bezpieczniej to zrobić wykorzystując biblioteke standardową C++. #include <fstream.h>//.....void __fastcall TForm1::Button1Click(TObject *Sender){ const N=100; char bufor[N]={0}; ifstream plik("c:\\plik.txt", ios::binary); if (!plik) { ShowMessage("Nie znalazlem pliku"); return; } plik.read(bufor,N); plik.close(); Memo1->Text = bufor;} Przykład mierny bo tak sie tego tak na stałe raczje nie robi, ale dużo wyjasnia. Dzięki odczytowi binarnemu zachowujemy w memo formatowanie takie jak w pliku.
  21. Pełno kursów masz na stronie 4programmers.net i wielu innych poszukaj na google tego jest pełno ;]
  22. A tak na poważnie to nie mam nic przeciwko temu. Ale wg. mnie to tak jakby pierwszy lepszy kmiot z ulicy zaczynał kariere w firmie jako Główny Księgowy, a wiadomo co ta funkcja robi ( nic nie robi podpisuje tylko od czasu do czasu jakieś papiery ) , wszystko robią za niego podwładni tzw brudną robotę. ;]
  23. Za jakie grzechy??....... :lol2: Tiaaaaaaa....... To tzw. "nowoczesny język" w którym jedyne co budzi spore zainteresowanie to ogromna liczba słów kluczowych i zastępowanie sprawdzonych pomysłów swoimi.
  24. Zdecydowanie C++. Zresztą i tak niby ucząc sie C i tak pisze w kompilatorze C++ i co za tym idzie uzywa rzeczy z C++. Teraz nie ma już pure C bo to trzeba wymusić na kompilatorze a C jako język jest strasznie toporny pare przykładów. W czystym C jest : -brak komentarzy // są tylko /* */ -nie można definiować zmiennych wszędzie gdzie sie chce -obzydliwe dla początkującego funkcje czytająco/piszące wiadomo że chodzi o znaczki formatujące -brak wyjątków -brak obiektowości -brak szablonów (nie ma w tym string) -brak przeładowywania -brak new i delete, malloci z C to prehistoria -brak wielu innych pomocnych rzeczy które wcale nie są związane z obiektowością. Nikt nie uczy sie tak na prawde czystego C, bo zawsze korzysta z udogodnień C++ i wcale nie chodzi mi tu o obiektowość ;]
  25. Polar

    [c] Odczyt Z Pliku

    No dobra uściślijmy nieco: 1. W programie '\n' ma jeden bajt, bo to pojedynczy znak "\n" ma 2 bajty, bo dochodzi tu znak końca stringu "\r\n" ma 3 bajty, bo tu też dochodzi znak końca stringu Chodzi tu tylko o program i cała teorię napisów "..." i '.', co wcale nie oznacza że w pliku jest tak samo. 2. Pliki KAŻDY ZNAK '\n' lub "\n" napotkany przy zapisie do pliku jest zmieniany w na 2 znaki '\r'+'\n' które ZAWSZE!!! kończą linię tekstu w pliku tekstowym. A przy odczycie pliku każde wystąpienie znaku '\r'+'\n' jest zmieniane na znak '\n' , który to znak trafia do programu. I TU JEST UKRYTA CAŁA TAJEMNICA z rozmiarem i możliwością porównań znaków odczytanych z pliku a znaków w programie. Bez tych ukrytych zmian nie można by było tak prosto robić róznych rzeczy. Najlepej jest zachować zasadę że przy zapisie do pliku tekstowego chcąc zejśc linie niżej uzywamy ( andl lub '\n' lub "\n" ) te 3 znaki są traktowane tam samo przy zapisie do pliku, mimo że w programie jest/może być inaczej.
×
×
  • Dodaj nową pozycję...