Articles

GeeksforGeeks

Considerar um problema onde precisamos tomar um número desconhecido de entradas inteiras.

Uma solução típica é executar um loop e parar quando um usuário insere um determinado valor. Como fazê-lo se não tivermos permissão para usar o if-else, switch-case e declaração condicional.

A idéia é usar o fato de que ‘cin >> input’ falso se for dado um valor não numérico. Note que esta abordagem acima só se aplica quando o tipo de dado do valor de entrada é int (inteiro).

Important Point : cin é um objeto se std::istream. Em C++11 e posteriores, std::istream tem uma função de conversão explícita bool() const;, significando que há uma conversão válida de std::istream para bool, mas somente onde explicitamente requisitado. Um if ou while conta como solicitando explicitamente uma conversão para bool.
Antes de C++ 11, std::istream tinha uma conversão para operador 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;
}



Eliminar:

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

Este artigo é contribuído por Aditya Rakhecha. Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar seu artigo por e-mail para [email protected]. Veja o seu artigo que aparece na página principal do GeeksforGeeks e ajude outros Geeks.

.