[ amanteo @ 15.09.2008. 19:14 ] @
Instalirao sam nedavno code blocks i kupio knjigu "c++ za 21 dan" autora Jessy Liberty,
pretpostavka autora je da se koristi borelandov compiler.
Kako podesiti code blocks da bi mogao nesmetano da pratim kod iz knjige,
da li mi treba jos neki download,ima li ko iskustva sa code blocks???
[ StefanJer91 @ 16.09.2008. 14:03 ] @
Pa trebalo bi da imas instaliran gcc odnosno mingw kompajler za windows. Koliko se secam code blocks pri prvom startovanju trazi da se podesi koji je kompajler, mada mislim da ce posle instalacije mingw-a code blocks sam postaviti njega za default compiler. Evo pogledaj i ovo http://wiki.codeblocks.org/ind...nstalling_a_supported_compiler

Btw, odlican izbor okruzenja i ja ga koristim :)
[ amanteo @ 16.09.2008. 20:48 ] @
Hvala druže,
da,ja sam dobio mingv sa kompajlerom i instalirao oba i podesio,
unosim kod iz knjige (koja preporučuje borelandov kompajler)
u editor

#include <iostream.h>
int main ()
{
int x=5;
int y=7;
cout "\n";
cout<<x+y<< " : <<x*y;
cout "\n";
return 0;
}

medjutim dobijam sledeće build mesages

D:\cbprogs\Untitled1.c|1|iostream.h: No such file or directory|
D:\cbprogs\Untitled1.c||In function `main':|
D:\cbprogs\Untitled1.c|6|error: `cout' undeclared (first use in this function)|
D:\cbprogs\Untitled1.c|6|error: (Each undeclared identifier is reported only once|
D:\cbprogs\Untitled1.c|6|error: for each function it appears in.)|
D:\cbprogs\Untitled1.c|6|error: syntax error before string constant|
D:\cbprogs\Untitled1.c|8|error: syntax error before string constant|
||=== Build finished: 6 errors, 0 warnings ===|

I osećam se kao najveći idijot na forumi
Pogubljen sam,kapiram da sam propustio nešto bitno u podešavanjima,
da li boreland i mingv koriste različitu sintaksu?
[ karas @ 17.09.2008. 11:52 ] @
Ako bi koristili razlicitu sintaksu onda bi to bili razliciti jezici.;)
Ovaj kod bi morao da radi u svakom kompajleru. Probaj da umesto
Code:

#include <iostream.h>

stavis
Code:

#include <iostream>

i dodaj ispod jos liniju
Code:

using namespace std;

pa javi rezultat.
[ amanteo @ 17.09.2008. 14:22 ] @
uradih to i evo šta mi je izbacio

Fatal F1003 C:\Borland\BCC55\include\stdcomp.h 5: Error directive: Must use C++ for STDCOMP.H
*** 1 errors in Compile ***
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings

Nešto sam pobrljavio sa podešavanjima hmmm...
[ karas @ 17.09.2008. 14:36 ] @
Vidim da u kodu linija
Code:

cout<<x+y<< " : <<x*y;

nema zatvorene navodnike. Ispravi ovo pa javi sta izbacuje.
[ StefanJer91 @ 17.09.2008. 15:17 ] @
Nagadjam, ali pored greske koju je karas naveo, cini mi se da code blocks misli da je u pitanju c program. Da li si fajl snimio kao .cpp posto bi tako trebalo da koristi g++ ?
[ pcaca @ 19.09.2008. 14:44 ] @
Citat:
amanteoFatal F1003 C:\Borland\BCC55\include\stdcomp.h 5: Error directive: Must use C++ for STDCOMP.H

Hmmm.... otkud izagje sada Borland.

Menjao si compiler?
[ amanteo @ 19.09.2008. 15:04 ] @
jesam,postavio sam borlanda,
ali Stefan je peimetio nešto bitno,
nisam sačuvao kod u c++ nego u c,
prilično glupo
[ amanteo @ 23.09.2008. 19:31 ] @
Uradih i to,sačuvao source file kao c++,koristeći
mingv kompajler ali opet kod:

#include <iostream.h>
int main ()
{
int x=5;
int y=7;
cout"\n";
cout << x+y << "" << x*y;
cout"\n";
return 0;
}


kada se kompajlira izbacuje sledeće:

D:\Untitled4.c|1|iostream.h: No such file or directory|
D:\Untitled4.c||In function `main':|
D:\Untitled4.c|6|error: `cout' undeclared (first use in this function)|
D:\Untitled4.c|6|error: (Each undeclared identifier is reported only once|
D:\Untitled4.c|6|error: for each function it appears in.)|
D:\Untitled4.c|6|error: syntax error before string constant|
D:\Untitled4.c|8|error: syntax error before string constant|
||=== Build finished: 6 errors, 0 warnings ===|


Dobro kapiram engleski i guglam danima ali ne kapiram gde sam pogrešio
u podešavanjima kompajlera ili code blocks...ali naćiću odgovor makar
mi to bio poslednji klik.
[ X Files @ 23.09.2008. 19:41 ] @
Ako mogu da primetim i dalje ti je fajl sa C ekstenzijom: Untitled4.c

Pretpostavljam da je do toga. Napravi novi Projekat, konzolnu aplikaciju, C++, i imaces *.CPP ekstenziju.

Sto se tice:
#include <iostream.h>
(koja nije uzeta u obzir pa stoga i te silne greske)

...neka bude:
#include <iostream>

MinGW ovo po defaultu postavi po standardu.

P.S. Pogledaj i par redova gore: http://www.elitesecurity.org/t337028-0#2054844 u vezi "using namespace std".
[ amanteo @ 23.09.2008. 20:02 ] @
Užas,ne znam gde bijem glavom,
evo ispravke:

#include <iostream.h>
int main ()
{
int x = 5 ;
int y = 7 ;
cout "\n" ;
cout << x + y << " " << x*y;
cout "\n";
return 0;
}


A greška koju izbacuje je:


C:\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\backward\backward_warning.h|32|warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.|
D:\Untitled4.cpp||In function `int main()':|
D:\Untitled4.cpp|6|error: expected `;' before string constant|
D:\Untitled4.cpp|6|warning: statement has no effect|
D:\Untitled4.cpp|8|error: expected `;' before string constant|
D:\Untitled4.cpp|8|warning: statement has no effect|
||=== Build finished: 2 errors, 3 warnings ===|


Hvala,vidim sad da mi izbacuje upozorenje za header na koji si mi ukazao
sad ću uraditi i ostatak tvoje primedbe pa se javim opet
[ amanteo @ 23.09.2008. 20:20 ] @
Ok uradih i to pa je kod sada:


#include <iostream>
using namespace std;
int main ()
{
int x = 5 ;
int y = 7 ;
cout "\n" ;
cout << x + y << "" <<x*y;
cout "\n";
return 0;
}


A evo i grešaka:

||=== vezba, Debug ===|
D:\cbprogs\vezba\main.cpp||In function `int main()':|
D:\cbprogs\vezba\main.cpp|7|error: expected `;' before string constant|
D:\cbprogs\vezba\main.cpp|7|warning: statement has no effect|
D:\cbprogs\vezba\main.cpp|9|error: expected `;' before string constant|
D:\cbprogs\vezba\main.cpp|9|warning: statement has no effect|
||=== Build finished: 2 errors, 2 warnings ===|


ne kapiram...
[ karas @ 23.09.2008. 21:26 ] @
Ajde za početak prepravi
Code:

cout "\n";

u
Code:

cout << "\n";

pa da vidimo šta će dalje biti.
[ amanteo @ 23.09.2008. 23:46 ] @
Evo rešenje,hvala Karas i X files,zadatak je rešen.

Nema erora mada mi je izbacio neočekivani rezultat:

1235. Očekivao sam 12, pa 35 u novom redu

Očigledno ste mi vi više pomogli nego knjiga.

Nastaviću da učim više iz download-ovanih tutorijala.

Ostaje mi da se pitam zašto je kod u knjizi drugačiji?

Hvala još jednom na vremenu i pomoći.
[ StefanJer91 @ 24.09.2008. 07:53 ] @
Ono sto si ti hteo treba da izgleda ovako:

Code:

#include <iostream>
using namespace std;
int main ()
{
    int x = 5 ;
    int y = 7 ;
    cout << "\n" ;
    cout << x + y << "\n" << x*y;
    cout << "\n";
    return 0;
}


Ja licno vise preferiram c-ov input i output od c++. Ne znam zasto imaju tolike greske u knjizi, mogu jedino da te posavetujem da pogledas i tutorale sa http://www.cplusplus.com/doc/tutorial/ koji su pomogli meni da savladam osnove. Tu je sve pisano po standardu tako da ne bi trebao imati problema. :)
[ karas @ 24.09.2008. 08:13 ] @
@amanteo
Ta knjiga očigledno koristi stara zaglavlja standardne biblioteke i ne zna za namespace-ove koji su odavno u upotrebi. Bolje promeni knjigu i koristi neku koja ne podrazumeva određeni kompajler (tj. bavi se standardnim jezikom). Jedna od takvih je C++ Primer koja je sasvim dobra za učenje od početka.
[ amanteo @ 24.09.2008. 18:10 ] @
Hvala ljudi,

zaključak: "C++ za 21 dan" autora Jessy Liberty
je zastarelo gradivo za početnike u c++ svetu


Nastavljam sa brojnim tutorijalima koje posedujem
i nadam se da ću jednom moći da uzvratim na
velikodušnosti posetiocima ove teme.

Do skorih problema...

Pozdrav
[ karas @ 25.09.2008. 08:15 ] @
Gledaj da dobro pokriješ standardnu biblioteku kako bi se upoznao sa kontejnerima, iteratorima, funktorima itd. C++ najčešće pljuju zbog pokazivača, a standardna biblioteka pokazuje kako se njihovo korišćenje moze svesti na razumnu meru.
[ amanteo @ 25.09.2008. 12:08 ] @
Razumem,imam c++ primer i još gomilu tutorijala,a i link koji je
Stefan bacio je prilično solidan.
Hvala bogu imam i nenormalnu volju da sve to logički sažvaćem.

Samo da me na faksu ne gnjave mnogo sa paskalom ove godine i posvetiću
svo svoje vreme c++-u.

Vodi me ni na čemu zasnovana intuitivna odluka da savladam baš
ovaj program.

Ćeraćemo se...