Hola, estoy aprendiendo a programar en c++ y tengo una duda con esto:
void Leer(int vector[]){
for(int i=0; i < TAMANIO; ++i){
cout << "Introduce números v[" << i << "]: ";
cin >> vector;
}
}
He escrito esta función y mi duda es como resuelvo que el usuario al introducir un char desde el teclado y no se lo trague el vector??
TAMANIO está declarada como una constante global y su tamaño es 100.
Un saludo
Primero lee la linea como una string. Luego, miras si es numérica. En caso de que lo sea, usas una función como "stoi()" para transformarlo a int, y ya lo metes en el vector.
Cita de: antkk en 14 Marzo 2015, 13:15 PMcomo resuelvo que el usuario al introducir un char desde el teclado y no se lo trague el vector?
Una opción ya la indico
ivancea96, otra consiste en verificar el resultado del operador >> directamente, un ejemplo:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <limits>
using std::numeric_limits;
int main()
{
int numero;
while (true) {
cout << "Introduce un numero: ";
if (cin >> numero)
break;
else {
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
}
}
cout << "El numero es " << numero << endl;
return 0;
}
Un saludo