Requisitos:
Cuando no sabemos cuántos valores nos escribirán por el teclado usamos la siguiente instrucción:
while (cin>>valor) {
...
}
Lo que esto hace es ir leyendo valores del teclado hasta que el usuario presione CTRL+Z en Windows o CTRL+D en MacOS y Linux (o, si se está leyendo un archivo, hasta que se llegue al final del archivo). Por ejemplo:
int suma = 0;
int num;
while (cin >> num) {
suma = suma + num;
}
cout << suma << endl;
Podemos leer más de un valor con el cin dentro de la condición del while:
int nota;
string alumno;
while (cin >> alumno >> nota) {
cout << "El/La " << alumno << " ha obtenido un " << nota << endl;
}
Es muy habitual utilizar la fórmula “while(cin)” para rellenar un vector cuando no sabemos cuantos valores introducirá el usuario:
vector<int> paises_visitados;
string pais;
while (cin >> pais) {
paises_visitados.push_back(pais);
}