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.
.