Articles

GeeksforGeeks

Betrachten wir ein Problem, bei dem wir eine unbekannte Anzahl von Integer-Eingaben verarbeiten müssen.

Eine typische Lösung besteht darin, eine Schleife laufen zu lassen und anzuhalten, wenn ein Benutzer einen bestimmten Wert eingibt. Die Idee ist, die Tatsache zu nutzen, dass ‚cin >> input‘ falsch ist, wenn ein nicht-numerischer Wert eingegeben wird. Beachten Sie, dass der obige Ansatz nur gilt, wenn der Datentyp des Eingabewerts int (Ganzzahl) ist.

Wichtiger Punkt: cin ist ein Objekt, wenn std::istream. In C++11 und später hat std::istream eine Konvertierungsfunktion explicit bool() const;, was bedeutet, dass es eine gültige Konvertierung von std::istream nach bool gibt, aber nur, wenn dies explizit verlangt wird. Ein if oder while zählt als explizite Aufforderung zur Umwandlung in bool.
Vor C++ 11 hatte std::istream eine Umwandlung in den Operator void*() const;

#include <iostream>
using namespace std;
int main()
{
int input;
int count = 0;
cout << "To stop enter any character";
cout << "\nEnter Your Input::";
while (cin >> input)
count++;
cout << "\nTotal number of inputs entered: "
<< count;
return 0;
}



Ausgang:

To stop enter any characterEnter Your Input 1 2 3 sTotal number of inputs entered: 3

Dieser Artikel wurde von Aditya Rakhecha verfasst. Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel unter contribute.geeksforgeeks.org schreiben oder eine E-Mail an [email protected] schicken. Dein Artikel wird auf der GeeksforGeeks-Hauptseite erscheinen und anderen Geeks helfen.