Articles

GeeksforGeeks

Considerăm o problemă în care trebuie să luăm un număr necunoscut de intrări întregi.

O soluție tipică este de a rula o buclă și de a se opri atunci când un utilizator introduce o anumită valoare. Cum să o facem dacă nu avem voie să folosim if-else, switch-case și instrucțiuni condiționale.

Ideea este să folosim faptul că ‘cin >>intrare’ falsă dacă se dă o valoare nenumerică. Rețineți că această abordare de mai sus este valabilă numai atunci când tipul de date al valorii de intrare este int (număr întreg).

Punct important : cin este un obiect dacă std::istream. În C++11 și ulterior, std::istream are o funcție de conversie explicit bool() const;, ceea ce înseamnă că există o conversie validă de la std::istream la bool, dar numai atunci când este solicitată explicit. Un „if” sau un „while” se consideră ca fiind o cerere explicită de conversie în bool.
Înainte de C++ 11, std::istream avea o conversie către operatorul 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;
}



Succesiune:

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

Acest articol este realizat de Aditya Rakhecha. Dacă vă place GeeksforGeeks și doriți să contribuiți, puteți, de asemenea, să scrieți un articol folosind contribute.geeksforgeeks.org sau să trimiteți articolul prin poștă la [email protected]. Vedeți articolul dumneavoastră apărând pe pagina principală GeeksforGeeks și ajutați alți Geeks.

.