# C++ ** Was bedeutet cin.get()?



## Kusarr (11. April 2014)

hallo,

in einer Aufgabe soll man eine Binärzahl eingeben und die dazugehörige Dezimalzahl ausgeben.
Da ich das sowas von nicht gerafft habe musst ich einige Zeit googeln, bis ich darauf gestoßen bin:


```
void main()
{ 
	start:

	char bin;
	int zeile = 0;
	// Binärzahleingabe und Umrechnen in Dezimalzahl 

	cout << "Geben Sie eine Binaerzahl ein: ";
	
	while (cin.get(bin) && (bin == '0' || bin == '1'))
	{
		zeile = zeile * 2;
		if (bin == '1')
			zeile = zeile + 1;
	}  // Ausgabe der Dezimalzahl 

	cout << "Die eingegebene Binaerzahl lautet im Dezimalsystem: " << zeile << "\n\n" << endl;

	goto start;

	system("PAUSE");
};
```

Es funktioniert top (habs noch etwas aufgehübscht), leider versteh ich diese cin.get(bin) überhaupt nicht.
Normalerweise hätte ich nach
_cout << "Geben Sie eine Binaerzahl ein: ";_ folgendes geschrieben:
_cin>>bin;_

kann mir das mal einer erklären bitte?


----------



## bingo88 (11. April 2014)

cin ist ein Eingabestream (istream) und bietet daher einige zusätzliche Methoden. Das get() liefert in deinem Fall jeweils das nächste Zeichen, das im Stream steht.


----------



## Kusarr (11. April 2014)

ah ok vielen dank


----------



## crusherd (12. April 2014)

Hi,

Kleiner Tipp für C++ Entwickler:
http://www.cplusplus.com/

Da findest alles wissenswerte über C++ und auch über cin. 

Gruß
crusherd


----------



## Crymes (14. April 2014)

Zum Code: 
Anstatt "Zeile = Zeile + 1" kann man auch ganz kurz "Zeile++" schreiben.
Wenn ich mich nicht vertan habe hört das Programm nie auf ?
Vielleicht macht man am Ende noch eine kleine Frage ob man nochmal eine Berechnung dirchführen will


----------

