lookass Opublikowano 29 Marca 2006 Udostępnij Opublikowano 29 Marca 2006 Witam. Sądze że w temacie wyjaśniłem mniej więcej o co chodzi. Mam dostęp do znakomitej (z tego co zacząłęm czytać i z wielu opinii w internecie i wśród ludzi) Symfonii C++ Jerzego Grebosza... mam jednak takie pytanie ponieważ coś się zmieniło w tym języku i nie wiem czy warto uczyć się ze starszej książki a nie ze "Symfonia C++ Standart". Obecnie nie mam kasy żeby zakupić nowszą książeczke ... tak więc czy w ogóle jest sens korystania ze zwyklej symfonii czy ten język już aż tak się zmienił że tego czego nauczyłbym się z niej nie przydałoby mi się? z góry dzięki za pomoc pozdro... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 29 Marca 2006 Filar Społeczności Udostępnij Opublikowano 29 Marca 2006 C++ samo w sobie nie zmieniło się w ogóle od wielu lat, więc nie wiem o co tobie chodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 30 Marca 2006 Autor Udostępnij Opublikowano 30 Marca 2006 Jestem początkującym i dopiero chciałbym zacząć naukę C++ z książką Pana Grebosza i sugerowałem się tym tekstem na jego oficjalnej stronie tuż pod tytułem książki "Symfonia C++" UWAGA - UWAGA - UWAGA Ta ksiazka juz nie bedzie wiecej wznawiana - gdyz ma teraz juz tylko znaczenie historyczne. Opisuje bowiem jezyk C++ wedlug jego definicji zawartej w ksiazce Bjarne Stroustrupa "The Annotated Reference Manual" - stad skrot ARM. Obecnie jezyk C++ zostal skodyfikowany w miedzynarodowym standardzie ISO C++. Jezyk w tej nowej wersji opisuje inna ksiazka Jerzego Grebosza pt: "Symfonia C++ Standard" - ktora niejako zastepuje te, archaiczna juz, stara Syfmonie C++ . Zmieniono coś tam kodyfikacje ISO czy coś w tym stylu mam nadzieję że teraz już wiesz o co mi chodzi... EDIT Mam wydanie z 1996... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek (Kamrat) Opublikowano 30 Marca 2006 Udostępnij Opublikowano 30 Marca 2006 Ja się uczyłem z Symfonii C++ całkiem niedawno i żadnych problemów ni ma. Naucz się najpierw z tego, a potem będziesz leciał po już bardziej skomplikowanych przykładach z netu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 30 Marca 2006 Autor Udostępnij Opublikowano 30 Marca 2006 Czyli mam rozumiec że z książeczki jakiej posiadam będe mógł spokojnie korzystać dziś :). Dzięki za pomoc... ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 30 Marca 2006 Filar Społeczności Udostępnij Opublikowano 30 Marca 2006 Jeśli chodzi o C++, to jest to zbiór nowych funkcji (STL) i obiektowość dla C. Kłopot był (i jest) w tym, że co twórca kompilatora, to zawsze musiał dodać coś od siebie, dlatego C++ został niejako ustandaryzowany. Powtarzam niejako, ponieważ i tak są minimalne różnice (raczej zawsze będą), ale nie w działaniu języka, bo takowych nigdy nie było, lecz w paru naprawdę minimalnych kwestiach. Niestety i tak będziesz musiał je poznać, jeżeli masz zamiar przetestować różne kompilatory. Dla przykładu podam jeden problem związany ze standardami (ten sam, o który się kiedyś kłóciłem z BeWuO). W C++ mamy zawsze główną funkcję programu, która zawsze się wykonuje automatycznie. Tą funkcją jest main. Autor C++ ustanowił, że ta funkcja powinno ZAWSZE zwracać systemowi jakąś zmienną, najczęściej 0 jako pomyślnie wykonane zadanie: int main() { return 0; } Powyższy przykład to najmniejszy program C++ i tylko taką strukturę skompilujesz w DEV-C++. Natomiast co mówi na ten temat VISUAL C++? Ano to, że main nie musi zwracać liczby i można zapisać to tak: void main() { } Jeżeli spróbujesz skompilować ten program w DEV-C++ to już wyrzuci błąd, ale w VISUAL C++ wszystko będzie dobrze. I o to chodziło autorowi książki, ponieważ być może opierał się na założeniach jednego kompilatora i opisał wszystkie dopuszczalne metody, włącznie z tymi, które w standardzie C++ oficjalnie nie istnieją. Krótko mówiąc nie kupuj książki, bo takich kwiatków jest naprawdę mało, zaledwie parę i nie ma co wywalać książki z tego powodu. W nowej mogą być conajwyżej pousuwane niektóre dyrektywy (i może opisane dodatkowo jakieś moduły, nie wiem, bo nigdy symfonii C++ nie miałem). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 30 Marca 2006 Autor Udostępnij Opublikowano 30 Marca 2006 Wielkie dzięki że wyjaśniłeś mi sytuację :thumbsup: Mam jeszcze pytanie czy Borland C++ Builder 6 Enterprise jest dobrym kompilatorem? Warto z niego skorzystac ? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 30 Marca 2006 Filar Społeczności Udostępnij Opublikowano 30 Marca 2006 Nie wiem, nigdy nie korzystałem z Borland C++, ale pewnie jest dobry, bo to firma z tradycjami w dziedzinie kompilatorów. Jednak: http://infojama.pl/article.php?sid=3329 :( Nie wiem czy jest sens nauki takiego środowiska programistycznego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek (Kamrat) Opublikowano 31 Marca 2006 Udostępnij Opublikowano 31 Marca 2006 Borland saks ;] Zdecydowanie polecam wszystko z rodziny Visual. Najnowsza wersja Visual C++ 2005 wymiata, chociaż sam narazie używam VC++ 6. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 wykonuje jedno z ćwiczeń z Symfonii C++ i już mam problem nad ktorego rozwiązaniem siedze od ponad 2.5h :mellow: Jest to prosty przelicznik stóp na metry. Jakbyście mogli wyjaśnic dlaczego po wpisaniu liczby stóp i wstukaniu entera wyłącza mi "program" a nie wyświetla wyników byłbym wdzięczny :). Póki co sie nie zniechecam jak wcześniej i probuje rozwiazac problem jednak wiem ze pewnie czegos brakuje a ja jako laik nie potrafie tego odnaleźć z góry thx :) #include <iostream.h> using namespace std; int main (int argc, char *argv[]) { int stopy; //do przechowywania liczby stop float metry; //do wpisania wyniku float przelicznik = 0.3; //przelicznik stopy na metry cout << "Podaj wysokosc w stopach : "; cin >> stopy; //przyjecie danej z klawiatury tu jest error! metry = stopy * przelicznik; cout << endl; //obliczanie wyników i ich wypisanie cout << stopy << " stop - to jest : " << metry << " metrow\n"; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek (Kamrat) Opublikowano 31 Marca 2006 Udostępnij Opublikowano 31 Marca 2006 To nie błąd. Poprostu po wykonaniu wszystkich operacji, aplikacja kończy działanie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 wykonuje jedno z ćwiczeń z Symfonii C++ i już mam problem nad ktorego rozwiązaniem siedze od ponad 2.5h :mellow: Jest to prosty przelicznik stóp na metry. Jakbyście mogli wyjaśnic dlaczego po wpisaniu liczby stóp i wstukaniu entera wyłącza mi "program" a nie wyświetla wyników byłbym wdzięczny :). Póki co sie nie zniechecam jak wcześniej i probuje rozwiazac problem jednak wiem ze pewnie czegos brakuje a ja jako laik nie potrafie tego odnaleźć z góry thx :) #include <iostream.h> using namespace std; int main (int argc, char *argv[]) { int stopy; //do przechowywania liczby stop float metry; //do wpisania wyniku float przelicznik = 0.3; //przelicznik stopy na metry cout << "Podaj wysokosc w stopach : "; cin >> stopy; //przyjecie danej z klawiatury tu jest error! metry = stopy * przelicznik; cout << endl; //obliczanie wyników i ich wypisanie cout << stopy << " stop - to jest : " << metry << " metrow\n"; } Nie... chodzi mi o to że program zamiast po wpisaniu liczby stóp przeliczyć je na metry i podać wyniki np 1200 stóp to jest ileś tam metrow... on zamiast tego gdy wpisze liczbe stop np Podaj wysokośc w stopach: wpisuje 3500 to program zamiast podac wybniki jak wczesniej napisalem po wcisnieciu entera wylacza sie :/ a powinien pod spodem wyswietlic wyniki przeciez i stad moje pytanie jak zrobic zeby wyswietlil wyniki zamiast wylaczac sie po wpisaniu wysokosci w stopach :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 31 Marca 2006 Filar Społeczności Udostępnij Opublikowano 31 Marca 2006 Po pierwsze co ja napisałem w moim ostatnim poście? Przed klamrą zamykającą funkcję main dopisz return 0; Po drugie uruchom program z wiersza poleceń. 1) Windows->menu start->Uruchom... 2) Wpisz cmd i naciśnij OK 3) Przejdź do katalogu z programem i uruchom go wpisując jego nazwę. Ewentualnie możesz na końcu programu ( a przed return 0; } ) dopisać regułkę w stylu "nacisnij klawisz enter by zakonczyc program...". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 Dzięki sorry że nie przeczytałem twojego posta z "return 0" ale wczoraj przed spaniem mialem to zrobic i zanalizowac co napisales ale zapomnialem i dzisiaj juz tego nie zrobilem ;) THX Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek (Kamrat) Opublikowano 31 Marca 2006 Udostępnij Opublikowano 31 Marca 2006 Albo zastosować pętle, bądź getch(); z conio.h ale o tym kiedy indziej :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 Boże ale jestem ciemny i wam ciągle głowe zawracam takimi pierdołami ale zrobiłem jak kazałeś i dalej po wpisaniu liczby stóp i wciśnieciu entera zamiast wynikow program zamyka się #include <iostream.h> using namespace std; int main (int argc, char *argv[]) { int stopy; //do przechowywania liczby stop float metry; //do wpisania wyniku float przelicznik = 0.3; //przelicznik stopy na metry cout << "Podaj wysokosc w stopach : "; cin >> stopy; //przyjecie danej z klawiatury tu jest error! metry = stopy * przelicznik; cout << endl; //obliczanie wyników i ich wypisanie cout << stopy << " stop - to jest : " << metry << " metrow\n"; cout << "Wciśnij klawisz enter aby kontynuowac"; return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 31 Marca 2006 Filar Społeczności Udostępnij Opublikowano 31 Marca 2006 Ale przecież tylko wyświetlasz komunikat o wciśnięciu entera, a go nie pobierasz! Dlatego program dalej się zamyka. Za coutem musisz jeszcze zastosowac cin i pobrac znaki z inputa. awno w c++ nie skrobałem, dopisz przed return 0: string end; cin >> end; No i gdy użytkownik naciśnie enter, to przerwie cin'a i zamknie program. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 Dzięki już wyniki są wyświetlane tylko kiedy pojawi się komunikat o możliwości zamnknięcia aplikacji to wtedy gdy wciskam enter nic sie nie dzieje :) #include <iostream.h> #include <string> using namespace std; int main (int argc, char *argv[]) { int stopy; //do przechowywania liczby stop float metry; //do wpisania wyniku float przelicznik = 0.3; //przelicznik stopy na metry cout << "Podaj wysokosc w stopach : "; cin >> stopy; //przyjecie danej z klawiatury tu jest error! metry = stopy * przelicznik; cout << endl; //obliczanie wyników i ich wypisanie cout << stopy << " stop - to jest : " << metry << " metrow\n"; cout << "Wcisnij klawisz enter aby kontynuowac"; string end; cin >> end; return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mideooo Opublikowano 31 Marca 2006 Udostępnij Opublikowano 31 Marca 2006 A nie łatwiej przed return 0 wpisać system("PAUSE");? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 31 Marca 2006 Udostępnij Opublikowano 31 Marca 2006 #include <iostream.h> #include <conio.h> using namespace std; int main () { int stopy; //do przechowywania liczby stop float metry; //do wpisania wyniku float przelicznik = 0.3; //przelicznik stopy na metry cout << "Podaj wysokosc w stopach : "; cin >> stopy; //przyjecie danej z klawiatury tu jest error! metry = stopy * przelicznik; cout << endl; //obliczanie wyników i ich wypisanie cout << stopy << " stop - to jest : " << metry << " metrow\n"; cout << "Wcisnij klawisz enter aby kontynuowac"; getch(); return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lookass Opublikowano 31 Marca 2006 Autor Udostępnij Opublikowano 31 Marca 2006 Dzięki skorzystam z rad :) używam Dev C++ i troche sie juz obeznalem w jego budowie i szkielecie kodu :) gdybym mial jakies pytania to napisze :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cobra Opublikowano 17 Kwietnia 2006 Udostępnij Opublikowano 17 Kwietnia 2006 A właśnie jest dużo błądów: W starym wydaniu jest tak: #include <iostream.h> main() { cout<<"Zle"; } A powinno być tak: #include <iostream> int main() { std::cout<<"Zle"; return 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nicolas Opublikowano 17 Kwietnia 2006 Udostępnij Opublikowano 17 Kwietnia 2006 O ile dobrze kojarze to jeżeli da się iostream.h to już nie trzeba dawać std::, lub zadnych using namespace (nie pamietam jak to sie nazywalo, chyba przestrzenie nazw)... Chociaż kompilator (dev) daje ostrzeżenie to program dziala... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Bartek (Kamrat) Opublikowano 17 Kwietnia 2006 Udostępnij Opublikowano 17 Kwietnia 2006 iostream to nowsza wersja iostream.h o ile dobrze pamiętam. Więc Cobra, obie wersje są poprawne :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się