Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa C++ kodom iz knjge c++ za 21 dan

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem sa C++ kodom iz knjge c++ za 21 dan

[ Pregleda: 3724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

trifun00
Trifun Djordjevic
Beograd,Srbija

Član broj: 316589
Poruke: 2
95.180.20.*



Profil

icon Problem sa C++ kodom iz knjge c++ za 21 dan31.07.2013. u 12:28 - pre 129 meseci
Imam problem sa knjigom c++ za 21 dan od Jesse Liberty 7.izdanje...kod za prvi program zdravo.cpp nece da uspe u dev c++ i u visual c++ express 2010...kod izgleda ovako:

1: #include <iostream.h>
2: int main()
3: {
5: cout <<"Zdravo svete!\n";
6: return 0;
7:}

a onda sam naisao na neki sajt gde je potpuno drugaciji kod i radi isto kao sto i ovaj treba da radi samo je potpuno drugaciji:

1: #include<iostream.h>
2: using namespace std;
3: int main ( )
4: {
5: cout<<"Ovo je moj prvi program,"<<endl;
5: system("pause");
6: }

E sad mi nije jasno zasto kod iz knjige nece da radi??A ovaj zadnji kod koji sam poslao radi super izadje command prompt sa recenicom "Zdravo svete!" kao sto treba da izadje u ovom prvom kodu...ne znam dali je to zato sto na kraju nema comandu "system("pause");" ili zato sto nema comandu "endl;" , ili zbog onog: "using namespace std;" ??
a u onom kodu gore ima comanda "return 0;" ...u zabludi sam zasto kod u knizi koja kosta 1836 din.nece da radi a cuo sam dosta pohvala u vezi nje i dali je to mozda do zastarelosti koda jer je knjiga iz 2003..ali mi je i to sumnjivo jer je ova knjiga koju sam kupio 7.izdanje...mozda je do editora i compilera ovog dev-c++ ...ali nisam siguran ni u to 100% ...Mozda za ove kodove iz ove knjige mogu da pravilno ucitaju samo neki posebni editori i compileri...Usput sam zaboravio da kazem reakciju na prvi kod iz knijige koji nece da radi: Otvori se command prompt i iste sekunde se zatvori bez ikakvog teksta...mislim da je to zbog comande koja nedostaje: "system("pause");" ali bilo bi mi jako zao da kodovi iz ove knjige koju sam kupio: " http://knjige.kombib.rs/C_Naucite_za_21_dan_VII_izdanje.html " nece da rade.. neka mi neko pomogne ako zna o cemu se radi...
dali mozda samo taj kod nece da radi pravilno u knjizi ili je problem do neceg drugog...ne znam stvarno sta da radim...uzgred..ja sam pocetnik u programiranju i nemam nekog velikog iskustva pre u tim stvarima...a jako me zanimaju te stvari i zavoleo sam c++ ...Hvala unapred na pomoci.. evo moj skype ako neko hoce da me doda..skypename "trifundjordjevic" ...
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
*.dynamic.isp.telekom.rs.

ICQ: 208550327


+14 Profil

icon Re: Problem sa C++ kodom iz knjge c++ za 21 dan31.07.2013. u 15:37 - pre 129 meseci
U primeru iz knjige "Naucite C++ za 21 dan" nedostaje:

using namespace std;

Code:


1: #include <iostream.h>
using namespace std;  // ovo treba dodati
2: int main()
3: {
5: cout <<"Zdravo svete!\n";
6: return 0;
7:}



Cudi me da je u knjizi to izostavljeno posto sam i ja ucio iz nje i nisam imao problema sa kompajliranjem ili greskama u kodu (bar ne sa jednostavnijim primerima koji su na pocetku knjige).

linija 5: se moze napisati na 2 nacina:

a) cout <<"Zdravo svete!\n";

i

b) cout <<"Zdravo svete!" << endl;

endl (end of the line) je isto sto i \n (newline) u primeru b), i obe komande rade isto: prelaze u novi red u konzolnom ekranu.

Za sad ne moras da se opterecujes sa system("pause") tako da bih ti preporucio da se drzis koda knjige "Naucite C++ za 21 dan" ako ces vec iz nje da proucavas na dalje.

I sto se tice return iskaza, trebalo bi uvek vratiti vrednost iz funkcije ako ona ima povratnu vrednost ( int main() - zahteva return neka_vrednost ). Da si napisao void main() ne bi imalo potrebe da pises return...
EOF
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: Problem sa C++ kodom iz knjge c++ za 21 dan31.07.2013. u 16:08 - pre 129 meseci
Citat:
glorius
Za sad ne moras da se opterecujes sa system("pause")


Davno je to bilo kad sam pocinjao sa C++ na PC-u, ali se sjecam da je kod nekih IDE-a bio "problem" to sto program radi, ali ga pocetnik ne vidi zato sto se konzolni program otvori u djelicu sekunde, prikaze to svoje "Hello world!" i nestane sa ekrana, a pocetnik ni ne primjeti da se nesto desilo, pa gubi vreme trazeci nepostojece greske... Mislim da se bas Dev-c++ tako ponasao.
Onda je to system("pause") bilo zgodno da se konzolni prozor zadrzi na ekranu dok korisnik ne pritisne nesto na tastaturi.

Ako se nije koristilo using namespace std, onda su se varijable iz tog namespace-a poput endl navodile kao std::endl

Takodje, mislim da se po novijim standardima umjesto <iostream.h> koristi samo <iostream>.
endl ce samo po sebi flush-ovati string na ekran, ali ako se koristi \n onda valjda treba flush-vati buffer eksplicitno: cout.flush()


Elem, najbolje je vidjeti u samoj knjizi koji standard se koristi za primjere iz knjige, pa nastelovati IDE na tu verziju i koristiti okruzenje koje je autor preporucio.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Problem sa C++ kodom iz knjge c++ za 21 dan31.07.2013. u 17:57 - pre 129 meseci
Žao mi je što moram da ti to kažem, ali knjiga je previše stara. Poslednji standard za C++ je iz 2003. godine, kad i knjiga, ali taj standard nije u knjizi.

Ono po čemu se vidi je i prva linija.
Po starom standardu, pisalo se

#include <iostream.h>

dok je u novom standardu potrebno navesti bez .h

#include <iostream>

Oba oblika prolaze na novim kompajlerima, s tim što prvi oblik može da proizvede upozorenje kompajlera.

Drugo, po starom standardu nije postojao namespace. U novim standardu, potrebno je navesti
using namespace std;

Ukoliko se ovo ne navede, onda prilikom korišćenja imena iz std namespace-a mora da se koristi oblik
std::cout
umesto samo
cout

Dakle da rezimiram, aki napišeš
#include <iostream.h>
onda kompajler očekuje da je u pitanju program po starom standardu i ne mora da se koristi std::cout, štaviše, to može da proizvede grešku.
Ako se koristi
#include <iostream>
tada MORA da se koristi
using namespace std;
ili da se svaka metoda iz tog namespace eksplicitno poziva sa
std::ime_funkcije
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
212.178.242.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Problem sa C++ kodom iz knjge c++ za 21 dan01.08.2013. u 09:45 - pre 129 meseci
Poslednji standard za C++ je iz 2011.

Imenski prostori postoje i u C++98, a još je u sekciji 17.3.1.2 - Headers jasno označeno da se header fajlovi za standardnu biblioteku pišu bez ekstenzije jer:

Citat:
15) A header is not necessarily a source file, nor are the sequences
delimited by < and > in header names necessarily valid source file
names (_cpp.include_).


Tu knjigu bolje baci uzmi neku noviju, jer ćeš više loših stvari naučiti iz nje (ako je stvarno pisana 2003. godine, nema opravdanja za ovakve stvari).
 
Odgovor na temu

trifun00
Trifun Djordjevic
Beograd,Srbija

Član broj: 316589
Poruke: 2
95.180.20.*



Profil

icon Re: Problem sa C++ kodom iz knjge c++ za 21 dan01.08.2013. u 10:35 - pre 129 meseci
aa hvala vam svima mnogo ste mi pomogli...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem sa C++ kodom iz knjge c++ za 21 dan

[ Pregleda: 3724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.