como funciona if(!cin)?
Publicado por Ana (1 intervención) el 23/05/2018 21:48:33
Hola, tengo que hacer un ejercicio de matrices en c++ en el que cuando deje de haber flujo de datos, el programa se detenga, basicamente tengo que darle infrmacion por consola dos veces y a la tercera vez,como no recibe mas datos deberia cerrarse, he probado asi:
y no funciona, se queda esperando a que se haga un cin. Tambien he probado con if (cin.fail())
Saludos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool cargar(tMatriz & matriz, tPosicion & p){
bool cargado = false;
//cin >> p.x;
if (cin >> p.x){
cin >> p.y;
cargado = true;
for (int i = 0; i < p.x; i++){
for (int j = 0; j < p.y; j++)
cin >> matriz[i][j];
}
}
else if (cin.fail())
cin.ignore(100, '\n');
return cargado;
}
y no funciona, se queda esperando a que se haga un cin. Tambien he probado con if (cin.fail())
Saludos
Valora esta pregunta


0