[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.08
Prihlásený: 28.10.11
Príspevky: 152
Témy: 42 | 42
NapísalOffline : 25.06.2009 16:54 | cin

Caute, ako funguje obejkt cin, cital som, ze automaticky pretypuje vstup podla toho do akej premennej ukladam, ale nie je mi to velmi jasne, pretoze mal som prem. typu int, ulozil som do nej zo vstupu znak A, a ked som dal vypisat prem. pomocou cout, tak vypisalo mi to velke cislo, nemalo to vypisat 65 ?


Offline

Užívateľ
Užívateľ
cin

Registrovaný: 08.03.09
Prihlásený: 17.01.25
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 25.06.2009 18:35 | cin

nwm preco robis veci ktore su na nic platne rob chytre veci ved sa neucis programovat na to aby si kazil komp a nudil sa


_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.08
Prihlásený: 28.10.11
Príspevky: 152
Témy: 42 | 42
Napísal autor témyOffline : 25.06.2009 18:42 | cin

este ze ty si taky chytry :D


Offline

Užívateľ
Užívateľ
cin

Registrovaný: 08.03.09
Prihlásený: 17.01.25
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 25.06.2009 19:20 | cin

boze no tak naco ti to bude dobre radsej sa uc programovat normalne sparvne ako skusat co ktora funkcia/objekt urobi ked zadam neco zle :loony:


_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Skúsený užívateľ
Skúsený užívateľ
cin

Registrovaný: 11.01.09
Prihlásený: 28.04.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 25.06.2009 19:30 | cin

beginner píše:
cital som, ze automaticky pretypuje vstup podla toho do akej premennej ukladam

Mne sa zdá, že to je myslené tak, že nemusíš určovať dátový typ, ktorý sa má pomocou std::cin prečítať. Prečítaj si tento článok.

(To veľké číslo nemá súvis s načítaním. Neinicializovaná premenná má po spustení programu náhodnú hodnotu. Keď premennú deklaruješ ako int i = 0;, tak po načítaní znaku (nie čísla) bude mať hodnotu 0).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 03.12.25
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 25.06.2009 20:00 | cin

Hej, to velke cislo je hodnota, ktora tam je ulozena v pamati v tej premennej, a kedze tato premenna je typu int a 'A' je znak, tak sa do premennej neulozi nic.


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.08
Prihlásený: 28.10.11
Príspevky: 152
Témy: 42 | 42
Napísal autor témyOffline : 26.06.2009 10:35 | cin

nova otazka... cin po potvredni vstupu enterom, nechava znak noveho riadku, cize \n v bufferi, preco ked zavolam cin 2x po sebe, tak druhy cin stale caka na vstup, nemalo by tam dosadit \n z bufferu ?


Offline

Skúsený užívateľ
Skúsený užívateľ
cin

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 26.06.2009 10:43 | cin

cin pri použití s operátorom >> ignoruje "prázdne" znaky (nové riadky, medzery, tabulátory a pod). Ak chceš aj tieto znaky, použi cin.get()


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.08.08
Prihlásený: 28.10.11
Príspevky: 152
Témy: 42 | 42
Napísal autor témyOffline : 26.06.2009 10:52 | cin

dik, a este sa chcem spytat, ze ked nacitavam znaky do pola cez cin.get() tak ono to vraj neuklada \0 na konci vstupu, a potom ked dam vypisat pole cez cout, ako to, ze ho vypise spravne, ked tam nie je \0, tak by nemal vediet, kde je pole ukoncene.


Offline

Skúsený užívateľ
Skúsený užívateľ
cin

Registrovaný: 11.01.09
Prihlásený: 28.04.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 26.06.2009 12:59 | cin

get() ukladá na koniec reťazca nulový znak - musí, pretože potom by nebolo jasné, kde reťazec končí (nulový znak nie je "vidieť", on iba signalizuje, kde sa končí reťazec. Nezarátava sa ani do dĺžky reťazca). Ak si to chceš overiť, daj si vypísať binárne hodnoty na adresách jednotlivých znakov:

Kód:
cin.get(meno, 6);       // načíta 5 znakov a šiesty je "rezervovaný" pre '\0'

for (int i = 0; i < 6; i++)
    printf("%d ", meno[i]);


 [ Príspevkov: 10 ] 


cin



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

c++ cin.get/line

v Backend

3

823

18.03.2012 20:43

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

cin+cout vs. scanf()+printf()

v Backend

2

912

14.07.2007 12:40

jizzy.w

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Naburanie do WiFi siete - trestny cin?

v Firewally a bezpečnosť

12

6025

26.10.2010 21:55

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

cin >> choice

v Backend

2

729

12.05.2007 18:42

POM4R4NC



© 2005 - 2026 PCforum, edited by JanoF