Como leer de teclado 4 cosas

Iniciado por comemelguevo, 21 Enero 2016, 17:25 PM

0 Miembros y 1 Visitante están viendo este tema.

comemelguevo

Buenas tardes, esty haciendo una función en la cual se pide que escriba hasta 4 cosas, las 2 primeras caracteres, y las dos últimas números, la cosa es que no es necesario, que estén las posteriores, es decir, si esta la 4, tienen que estar la 1, 2 y 3, y si está la 2 tiene que estar la 1.
Mi problema es que no se como se haría de tal modo que no me de problemas si escribo solo la 1, o si escribo solo la 1 y la 2.
Mi idea era algo tan simple como esto, pero aquí si no escribes 4 cosas no funciona, también lo había planteado con getlines, pero ahí al final del ultimo elemento que escribía por teclado me añadía números si lo presentaba. Gracias
int main (){
        const int MAX = 100;
char i[MAX];
char d[MAX];
int g,h;
cout << "Escriba:" << flush;
cin >> i >> d >> g >> h;
        cout << i << d << g << h << endl;
}

ivancea96

Lo mejor, diría que es que leas con getline:
Código (cpp) [Seleccionar]
string t;
getline(cin, t);


Una vez tengas la línea cargada en una avriable ('t' en este caso), podrías recorrerla y separar las palabras por los espacios. Luego, el 3 y 4, los transformas a int con, por ejemplo, 'stoi':
Código (cpp) [Seleccionar]
int n = stoi(t);