Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » cin

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.10.2003, 11:18 Uhr
geissbock



hi!

wenn man mit cin eine variable einliest in welchen datentyp wird die gespeichert?

mfg geissbock
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.10.2003, 12:43 Uhr
virtual
Sexiest Bit alive
(Operator)


Eine variable hat immer einen festen Datentyp, folglich speichert cin die Varaible auch als diesen Typen, mit dem die Variable deklaratiert wurde:

C++:
int i;
char c;
double d;
MyClass m;

std::cin >> i; // LIest ein int
std::cin >> c; // Liest ein char
std::cin >> d; // Liest ein double
std::cin >> m; // Liest eine MyClass Instanz, wenn Operator >> dafür definiert wurde


Generell sollte man berücksichtigen, daß das >> erwartet, daß die Eingabe in Textform vorliegt. Dh. cin liest einen Text ein und wandelt es dann in einen Wert um, der fü die variable passend ist. Es gibt dann halt schwierigkeiten, wenn da was anderes als der Text steht, als man eigentlich lesen will.
So wirst Du Probleme haben, wenn folgende Eingabe gegeben ist

Code:
abcd


und du nun den ASCII Code von den Buchstaben ermitteln möchtest:

C++:
int i,j,k,l;
std::cin >>i>>j>>k>>l;
std::cout<<"Dis ASCII Codes sind: "<<i<<' '<<j<<' '<<k<<' '<<l<<std::endl;


cin geht nämlich hin und prüft, ob 'abcd' eine gültige Zahl ist. Ist es aber nicht - folglich geht das dann schief. Man muß die Aufgabe dann so lösen:

C++:
char i,j,k,l;
std::cin >>i>>j>>k>>l;
std::cout<<"Dis ASCII Codes sind: "<<int(i)<<' '<<int(j)<<' '<<int(k)<<' '<<int(l)<<std::endl;


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.10.2003, 13:02 Uhr
geissbock





voll der denkfehler von mir. scheiße! ist das logisch wenn ich eine variable definiere und sie dann einlese das der typ dann vorgegeben ist.

thx!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.10.2003, 14:17 Uhr
~RedEagle
Gast


HI
also ich mache das immer so (bei einer integer)

int Variable;
cin >> Variable;

Ich hoffe ich konnte etwas helfen

MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.10.2003, 15:28 Uhr
geissbock



und was hat das dann mit dem 'std::' auf sich?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.10.2003, 15:43 Uhr
Pablo
Supertux
(Operator)


dasseleb wie bei std::cout

Das Objekt cin wird in Namespace std deklariert, also musst du (wenn du nur #include iostream> und ohne using namepsace std) explizit aufrufen. Also std::cin
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.10.2003, 16:01 Uhr
geissbock



aha! thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: