Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 23 odgovora
  • 7.954 pregleda

Najnovija ↓

C++ - par pitanja 28.08.2004. u 18:06 · pre 270 meseci #1
Skoro sam poceo da ucim C++, ne ide mi lose, ali sam ipak naisao na par nejasnoca pa bih molio ako neko moze da mi malo pojasni:

U cemu je razlika (kada se koja koristi) izmedju "int main()" i "void main()" i uz koju se od ovih naredbi koristi i "return 0;"?

Za sta se koristi "char" a za sta "bool"?

Koja je razlika izmedju "cin.get" i "cin.getline"?

Eto toliko. Za sada je dovoljno :)

Unapred se zahvaljujem na bilo kojem odgovoru!!

Pozdrav svima,
Salgeras
Potpis
Registered Linux User #460193
Re: C++ - par pitanja 28.08.2004. u 19:07 · pre 270 meseci #2
pa int main() koristis kada ti main vraca neku vrednost ... i tu se koristi return 0 (to je default vrednost koja obicno govori da se program izvrsio bez gresaka) a void se koristi kada funkcija ne vraca vrednost, bar ne na taj nacin....

char je znakovni tip podataka, znaci slova. a bool je logicki... ima samo dve vrednosti TRUE i FALSE ....
Re: C++ - par pitanja 28.08.2004. u 20:50 · pre 270 meseci #3
Citat:
pa int main() koristis kada ti main vraca neku vrednost ... i tu se koristi return 0 (to je default
Ovde Standard (kog sam se konačno dokopao) lepo kaže da main sme da bude samo int main(). Sve ostalo nije po standardnu i ne treba koristiti.

Dakle da ponovim. Samo int main je ispravno.

f
Re: C++ - par pitanja 30.08.2004. u 09:58 · pre 269 meseci #5
1. Odgovorih već da je ispravno samo int main. Ako negde naiđeš na void main, to nije ispravno. A pošto smo se složili da main mora da vrati int, na kraju mora da postoji neko return. return 0 je u redu ako želiš da vratiš izlazni kod 0, ali return 1, return -1 ili kako već takođe su mogući, zavisno od tvoje namere.

2. char je osnovni tip u C-u i C++u. Iako mislim da nije čvrsto propisano standardom, char je 8-bitni i može prema tome da sadrži 256 različitih vrednosti. bool tip je najpre uveden u C++ i ima dve moguće vrednosti: true i false. Mala nedoumica nastaje zato što je tip bool uveden relativno nedavno u C++ dok se pre toga rašireno koristio char ili int za istu svrhu. Mnogi i dalje ne odustaju od te prakse. IMHO je bolje prihvatiti „novu“ praksu; na kraju krajeva, nije ni baš tako nova.

3. Za razlike između istream::get i istream::getline, pogledaj na primer ovde.

f
Re: C++ - par pitanja 30.08.2004. u 14:14 · pre 269 meseci #6
Citat:
filmil: Iako mislim da nije čvrsto propisano standardom, char je 8-bitni


Standardom je propisano da je char 1 bajt. Međutim, C++ standard ne definiše koliko bitova ima u bajtu (tj razlikuje pojmove oktet i bajt), tako da na nekim platformama char nije 8-bitni. Kažu da je na Cray mašinama 1 bajt 32 bita.
Potpis
IOCC
Re: C++ - par pitanja 30.08.2004. u 14:33 · pre 269 meseci #7
Evo dakle isto to, samo malo preciznije (ISO C++, od. 5.3.1 Basic Types, str. 53)

Citat:
Objects declared as characters (char) shall be large enough to store
any member of the implementation's basic character set. If a character
from this set is stored in a character object, the integral value of
that character object is equal to the value of the single character
literal form of that character. It is implementationdefined whether a
char object can hold negative values. Characters can be explicitly
declared unsigned or signed. Plain char, signed char, and unsigned
char are three distinct types. A char, a signed char, and an unsigned
char occupy the same amount of storage and have the same alignment
requirements (3.9); that is, they have the same object
representation. For character types, all bits of the object
representation participate in the value representation. For unsigned
character types, all possible bit patterns of the value representation
represent numbers. These requirements do not hold for other types. In
any particular implementation, a plain char object can take on either
the same values as a signed char or an unsigned char; which one is
implementation-defined.

Re: C++ - par pitanja 30.08.2004. u 16:37 · pre 269 meseci #8
Hvala svima na ovome!!

Imam jos jedan problem...
Kada napisem neki zadatak i pokrenem ga u samom programu, on radi kako treba. Ali kad taj isti program pokrenem sa harda, tj. kad krene izvrsenje, on se prekine.

Npr. napisao sam prog. koji uporedjuje 2 broja. Pokrenem sa harda (*.exe), upisem brojeve, sve OK. Ali kad krene da izvrsava naredbu jednostavno se zatvori, "pukne".

Da li neko moze da mi pomogne oko ovoga?

Hvala i pozdrav svima!!
Potpis
Registered Linux User #460193
Re: C++ - par pitanja 30.08.2004. u 17:06 · pre 269 meseci #9
Postoji takodjer i WCHAR_T za podrsku nekim viseznakovnim jezicima (Kineski, Japanski...), mozda je covjek mislio na to.

Za pokretanje programa u konzoli kucaj :

"Win dugme + R" ili otvori "Start :: Run", u TextBox kucaj "cmd" ili "command" ukoliko imas neki OS koji nije zasnovan na NT jezgri, otidji u direktorij u kojem ti se nalazi izvrsna datoteka i ukucaj njeno ime.
Potpis
Njutn laze! Lake padaju brze...
Re: C++ - par pitanja 30.08.2004. u 20:40 · pre 269 meseci #10
Hehe, Nemanja, hoces reci da je char zapravo 32bitan na Cray-u? - Tako i treba, onda bi wchar_t i char bili isto i svi mirni i zadovoljni. :) Jedino se postavlja pitanje enkodinga kasnije, posto je zbog portabilnosti ipak bolje/lakse koristiti UTF8.
Potpis
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
Re: C++ - par pitanja 30.08.2004. u 21:00 · pre 269 meseci #11
Citat:
leka: Hehe, Nemanja, hoces reci da je char zapravo 32bitan na Cray-u?


Zakleo bih se da sam ovo pročitao na jednoj diskusiji na comp.lang.c++.moderated, ali sad ne mogu da ga nađem. Može biti da sam nešto "prezupčio", ali ostaje činjenica da char ne mora da bude 8 bita.
Potpis
IOCC
Re: C++ - par pitanja 30.08.2004. u 23:11 · pre 269 meseci #12
Prema C++ FAQ (http://www.parashift.com/c++-faq-lite):
Sekcija 26.1:
char je uvek 1 bajt.

Sekcija 26.4:
Standard garantuje da C++ bajt ima najmanje 8 bita. A može imati i više, u
zavisnosti od implementacije i platforme.

Dakle, char je uvek 1 bajt, a taj bajt može imati 8 ili više bitova...
Potpis
Pozdrav.
Re: C++ - par pitanja 31.08.2004. u 01:01 · pre 269 meseci #13
Sizeof operator!
Code:
#include <iosream.h>
int main ()
{
    cout << "char   size = " << sizeof(char) << " bytes\n";
    cout << "char*  size = " << sizeof(char*) << " bytes\n";
    cout << "short  size = " << sizeof(short) << " bytes\n";
    cout << "int    size = " << sizeof(int) << " bytes\n";
    cout << "long   size = " << sizeof(long) << " bytes\n";
    cout << "float  size = " << sizeof(float) << " bytes\n";
    cout << "double size = " << sizeof(double) << " bytes\n";
return (0);
}


kod mene su vrednosti:
char   size = 1 bytes
char*  size = 2 bytes
short  size = 2 bytes
int    size = 2 bytes
long   size = 4 bytes
float  size = 4 bytes
double size = 8 bytes


Posto sam i ja jedan od apsolutnih pocetnika vezacu se na ovu temu! Kojom funkcijom da izbrisem sve prethodno, nesto kao sto je u pascalu "ClrSCR"...?
Re: C++ - par pitanja 31.08.2004. u 08:20 · pre 269 meseci #14
Citat:
Dragi Tata: Zakleo bih se da sam ovo pročitao na jednoj diskusiji na comp.lang.c++.moderated, ali sad ne mogu da ga nađem. Može biti da sam nešto "prezupčio", ali ostaje činjenica da char ne mora da bude 8 bita.


nisi prezubcio, samo si pazljivo citao:
Citat:
While most compilers typically use an 8 bit char, Stroustrup (C++ Programming Language, 3rd ed., pg 74) notes that there are machines with 32 bit chars.


dakle, nije deplasirano koristiti sizeof(char)... osim u cowboy coding tehnikama.
Potpis
OV SM
LA PK
Re: C++ - par pitanja 31.08.2004. u 09:20 · pre 269 meseci #15
sizeof([[un]signed] char) je uvek 1, bez obzira na to koliko bita sadrzi jedan bajt.
Potpis
O_o
Re: C++ - par pitanja 31.08.2004. u 09:25 · pre 269 meseci #16
I posle se ljudi pitaju otkud toliko zadovoljstvo u radu u C++-u. Eto odakle: mora da se tumači ko biblija.

f
Re: C++ - par pitanja 31.08.2004. u 09:37 · pre 269 meseci #17
Citat:
Zevs85: Posto sam i ja jedan od apsolutnih pocetnika vezacu se na ovu temu! Kojom funkcijom da izbrisem sve prethodno, nesto kao sto je u pascalu "ClrSCR"...?

Za Windows: system("cls");
Re: C++ - par pitanja 31.08.2004. u 09:46 · pre 269 meseci #18
Citat:
blaza: sizeof([[un]signed] char) je uvek 1, bez obzira na to koliko bita sadrzi jedan bajt.


hmm... cuo sam za 12 bitne slabove, ali nisam cuo za 36-to bitne bajtove. da li si siguran u to? ovo nema veze sa standardima, vec sa egzoticnim arhitekturama, pogotovo sto istorija ide i pre 1998-me godine.
Potpis
OV SM
LA PK
Re: C++ - par pitanja 31.08.2004. u 10:39 · pre 269 meseci #19
Po Standardu (ISO/IEC 14882 1998-09-01):
Citat:

5.3.3 Sizeof
1
The sizeof operator yields the number of bytes in the object representation of its operand. The operand...
...sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1; the result of sizeof applied to any other fundamental type (3.9.1) is implementation-defined.

Zali se cika Bjorneu :)
Potpis
O_o
Re: C++ - par pitanja 31.08.2004. u 10:53 · pre 269 meseci #20
Citat:
 pogotovo sto istorija ide i pre 1998-me godine.
C i C++ i jesu komplikovani koliko jesu baš zato što se konstantno bore s duhovima.

f
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme