| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 04.08.08 Prihlásený: 28.10.11 Príspevky: 152 Témy: 42 |
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 ?
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 Bydlisko: 00100100 | Napísal reDo: 25.06.2009 18:35 | |
|
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!
;-) |
|
Registrovaný: 04.08.08 Prihlásený: 28.10.11 Príspevky: 152 Témy: 42 | Napísal autor témy beginner: 25.06.2009 18:42 | |
|
este ze ty si taky chytry
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 Bydlisko: 00100100 | Napísal reDo: 25.06.2009 19:20 | |
|
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
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 11.01.09 Prihlásený: 27.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 25.06.2009 19:30 | |
|
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).
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
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… |
|
Registrovaný: 04.08.08 Prihlásený: 28.10.11 Príspevky: 152 Témy: 42 | Napísal autor témy beginner: 26.06.2009 10:35 | |
|
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 ?
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 26.06.2009 10:43 | |
|
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. |
|
Registrovaný: 04.08.08 Prihlásený: 28.10.11 Príspevky: 152 Témy: 42 | Napísal autor témy beginner: 26.06.2009 10:52 | |
|
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.
|
|
Registrovaný: 11.01.09 Prihlásený: 27.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 26.06.2009 12:59 | |
|
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]);
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| c++ cin.get/line v Assembler, C, C++, Pascal, Java | 3 | 717 | 18.03.2012 20:43 Fico | | cin+cout vs. scanf()+printf() v Assembler, C, C++, Pascal, Java | 2 | 831 | 14.07.2007 12:40 jizzy.w | | Naburanie do WiFi siete - trestny cin? v Bezpečnosť a firewally | 12 | 5879 | 26.10.2010 21:55 ado21 | | cin >> choice v Assembler, C, C++, Pascal, Java | 2 | 643 | 12.05.2007 18:42 POM4R4NC |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|