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

Kusarr

Software-Overclocker(in)
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:

HTML:
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?
 
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.
 
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 ;)
 
Zurück