Dev - C++ - como funciona if(!cin)?

 
Vista:

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:
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder