Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: comemelguevo en 21 Enero 2016, 17:25 pm



Título: Como leer de teclado 4 cosas
Publicado por: comemelguevo en 21 Enero 2016, 17:25 pm
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
Código:
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;
}


Título: Re: Como leer de teclado 4 cosas
Publicado por: ivancea96 en 21 Enero 2016, 17:28 pm
Lo mejor, diría que es que leas con getline:
Código
  1. string t;
  2. 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
  1. int n = stoi(t);