# Pomoc w nauce C++

## Mr Adam

To może być długi wątek, zamierzam wreszcie nauczyć się jakiegoś języka. Wybór padł na C++, i taki standardowy przykład na początek:

```
/* Created by Anjuta version 1.2.4 */

/*   This file will not be overwritten */

#include <iostream>

int main()

{

cout << "Witaj w swiecie programowania";

getch();

return 0;

}

```

Jako IDE wybrałem Anjute, i teraz nie wiem jak ten program uruchomić.. 

[img=http://img411.imageshack.us/img411/7843/zrzutekranurh7.th.png]

Dzięki za pomoc!

----------

## no4b

To się pod Linuksem nie skompiluje z 2 powodów:

1) nie ma getch w standardzie,

2) powinieneś zadeklarować przestrzeń nazw z której korzystasz (using namepsace std w tym wypadku), lub używać std::cout.

(Do początków IDE wcale nie jest potrzebne.)

----------

## Mr Adam

1. Nie rozumiem... muszę coś doinstalować?

2.To co możesz mi polecić? Byle by pod gtk i z kolorowaniem składni

----------

## Redhot

 *Mr Adam wrote:*   

> 1. Nie rozumiem... muszę coś doinstalować?

 

Zamiast

```
getch();
```

to

```
getchar();
```

Zresztą polecam: http://ithelpdesk.pl/kurs-programowania-cplusplus.html

----------

## kondzik

proponuje też wstawić std:: przed cout a potem to już w na przykład w konsoli g++ -o main main.cc

a co do pkt.2 to weź swój ulubiony edytor i w nim pisz

----------

## Johnny_Bit

2: SciTE! Code::Blocks! ale SciTE jest przemocne jak dobrze sobie skonfigurujesz.

----------

## wodzik

w sieci mozna znalezc ebook "Od zera do gier kodera", opisujacy podstawy c++. przed chwila szukajac tego ebooka w sieci znalazlem to, wyglada na to ze moze tam byc tez pare ciekawych artykolow. co do Code::Blocks szkoda ze wczesniej tego nie znalem. juz sie kompiluje   :D

----------

## 13Homer

Nie wiem czy tylko u mnie, ale CB potrafi się dziwnie zawiesić: podczas przeciągania czegoś (przypadkowego złapania i ciągnięcia myszą), chyba zakładki z edytowanym plikiem, kursor zmienia się w jakiś inny (zbliżony wyglądem do zmiany rozmiaru okna) i koniec. Klawiatura pracuje w miarę normalnie, ale nie można w nic kliknąć ani przełączyć między aplikacjami. Wyjście, jakie znalazłem, to przełączenie się na konsolę i zabicie CB (np. killall codeblocks). Niestety w ten sposób traci się zmiany w projekcie (trzeba od nowa dodawać do niego pliki itp.). Denerwujące jest to niemożebnie. Jak znacie sposób na rozwiązanie tego to podzielcie się. Zaś samo IDE nie jest tragiczne, ale i nie jest powalające - brakuje np. pełnego completition. Ale jest za to kasowanie niepotrzebnych białych znaków na końcu linii i dlatego go używam.

----------

## wodzik

skoro juz jest o codeblocks to mam z nom maly problem. nie tworzy mi plikow .o, linker nie ma co linkowac i ogolnie nic sie nie kompiluje:

```
-------------- Build: default in Projekt1 ---------------

WARNING: Can't read file's timestamp: /mnt/hda6/buda/infa/c/codeblocks/test/konsola_test/dupa.cpp

WARNING: Can't read file's timestamp: /mnt/hda6/buda/infa/c/codeblocks/test/konsola_test/main.cpp

Linking console executable: Projekt1

g++: ./dupa.o: Nie ma takiego pliku ani katalogu

g++: ./main.o: Nie ma takiego pliku ani katalogu

g++: no input files

Process terminated with status 1 (0 minutes, 0 seconds)

0 errors, 0 warnings
```

moze ktos wie o co kaman?

---------EDIT---------

znalazlem takie cus:

http://forums.codeblocks.org/index.php/topic,7305.0.html

juz sie kompiluje od nowa.

---------EDIT2--------

dalej ten sam blad.  jesli mamy zrobiny makefile kompilacja przechodzi. troche dziwne bo przy tworzeniu takiego opengl/glut projekt wybieram lokalizaje bibliotek i kupe innych parametrow, na podstawie powinien sam wygenerowac makefila. moze po prostu jeszcze nie zalapalem do konca obslugi.

---------EDIT3--------

po skompilowaniu wersji z svn wszystko dziala jak nalezy.

----------

## Spaulding

ja posiadam pare (j)ebookow ;] m.in. :

Symfonia c++

Pasja c++

c++ dla kazdego  i takie tam ;p moge udostepnic jak ktos zechce ...

----------

## Mr Adam

ja jestem chętny, jak chcesz je udostępnić? przesłać na e-mail?

----------

## wodzik

a czy kopiowanie ebookow jest w ogole legalne? bo w sumie to chyba wychodzi na to samo co kserowanie ksiazek, co jest praktyka raczej dosc powszechna na studiach.

Arfrever: Ortografia

----------

## kwach

Jeżeli autor wyraża zgodę na rozpowszechnianie jeko książki w postaci ebooka, to jest to oczywiście legalne. Zazwyczaj jednak nie są to ebooki jako takie, a tylko zeskanowane książki, które są strzeżone prawami autorskimi (a zatem nie wolno ich kopiować, udostępniać, itp bez zgody autora lub, zazwyczaj, wydawcy).

To samo tyczy się książek masowo kserowanych na uczelniach - tyle że nikt nie przykłada do tego uwagi, bo przecież i studenci są zadowoleni, bo mają się z czego naumieć, i jednocześnie właścicele ksera nabijają sobie kieszenie.

A co do książki do C++ to polecam Symfonię Standard Grębosza - naprawdę dobra książka. Dostałem za zadanie napisać prostą bazę danych w C++ i korzystając jedynie z owej pozycji udało mi się dość nieźle zaliczyć ten projekt (5-). A żadnych wykładów, ćwiczeń z C++ nie miałem. Symfonia kosztuje ok 60-65 zl za ok 1300 stron w twardej, porządnej oprawie, napewno się nie zniszczy od nadmiernego używania - ja nie żałuję ani jednej złotówki wydanej na tę książkę. 

Pozdrawiam, Kuba

----------

## wodzik

nam koles od programowania obiektowego powiedzial, ze znajomosc symfoni na 5, gwarantuje otrzymanie 3 z przedmiotu. na wyzsze oceny dochodzi jeszcze wspomniana wyzej pasja i znajomosc biblioteki standardowej ;]

----------

## kwach

W czym problem - 3 też zalicza   :Very Happy: 

A tak poważnie - pewnie sporo zależy od wykładowcy, ale najbardziej się pewnie liczy poziom przedmiotu. U mnie ocenieniam go na niezbyt wysoki  :Wink: 

----------

## one_and_only

 *kwach wrote:*   

> Jeżeli autor wyraża zgodę na rozpowszechnianie jeko książki w postaci ebooka, to jest to oczywiście legalne. Zazwyczaj jednak nie są to ebooki jako takie, a tylko zeskanowane książki, które są strzeżone prawami autorskimi (a zatem nie wolno ich kopiować, udostępniać, itp bez zgody autora lub, zazwyczaj, wydawcy)

 

No właśnie, w przypadku wymienionych takiej zgody nie ma. Co innego Thinkinig in C++ Eckela, dostępna za darmo np. tutaj. Poziom wyższy niż Symfoni czy Pasji, ale za darmo i legalnie. Wady - na początek dość trudna no i po angielsku.

----------

## Spaulding

ja te Thinking in C++ mam po PL ;] jako (j)ebook :> w formacie djvu .. udostepnic ?

----------

## timor

A ja powiem tak... Chomik ucz sie javy bo teraz właśnie takich programistów najwięcej poszukują, no i składnia ciut prostsza na początek  :Wink: 

----------

## dziadu

Zależy w jakiej branży się obracasz. Dla fizyka jądrowego java jest mało przydatna, chyba że chcesz bajerancko prezentować wyniki. Ogólnie w fizyce rządzi i panuje C++ i Fortran - żeby nie puszczać słów na wiatr słowo ROOT powinno wystarczyć. No ale żeby dać jakąś alternatywe... ostatnio bardzo pomocny i przydatny okazał się... QBasic... ach, aż mi się przypomniały moje zabawy z Basiciem na Amidze, jeszcze z podstawówki.

Pozdrawiam,

dziadu

----------

## one_and_only

 *CzErYnA wrote:*   

> ja te Thinking in C++ mam po PL ;] jako (j)ebook :> w formacie djvu .. udostepnic ?

 

Ja też mam, ale legalne to już nie będzie - książkę wydał Helion, wyłożył kasę na tłumacza, więc to oni mają prawo do dystrybucji (tak mniej więcej - nie wiem jak to pod względem prawnym dokładnie wygląda). Jest gdzieś na sieci darmowe tłumaczenie, ale niepełne jeszcze (w formie wiki).

----------

## dziadu

No właśnie, po to mamy Linuksy, żeby być legal. A co, książki będziemy piracić? Ja mam oba tomy TIC++ po polsku, a Symfonie i Pasję... to od Jurka dostanę, taniej, z dedykacją  :Very Happy: 

----------

## soviet

czesc, podlacze sie do tematu nauki c++,

chcialem zapytac czy sa w c++ biblioteki do komunikacji z internetem, wysylanie/odbieranie pakietow, jakies otwieranie pakietow, tego typu rzeczy?

a jezeli nie ma to w jaki sposob robi sie takie programy w c++?

pozdrawiam

----------

## timor

Biblioteki do aplikacji sieciowych były jak dotychczas w każdym języku, którego się uczyłem  :Wink: 

Tu masz pierwszy link z googli -> http://www.c.webpacket.net/artykuly.php?dzial=41&id=347

Powinno wystarczyć aby szukać dalej  :Wink: 

----------

