Es así
Primero se desactivan los indicadores de error y después se limpia el buffer con cin.ignore.
Un saludo
Código (c++) [Seleccionar]
#include <iostream>
#include <limits>
using namespace std;
int main()
{
char nombre[10] = "";
int dia = 0;
cin.getline(nombre, 10, '\n');
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
cout << "dia: ";
cin >> dia;
cout << "dia: " << dia << endl;
return 0;
}
Primero se desactivan los indicadores de error y después se limpia el buffer con cin.ignore.
Un saludo