si pongo " a b" es como si a ese input respondiera solo a y al siguiente b... WTF?¿¿¡¡!!
Citar si pongo " a b" es como si a ese input respondiera solo a y al siguiente b... WTF?¿¿¡¡!!si usas los streams (cin >> RespuestaEstablecer;) lee hasta que encuentra el primer separador, los separadores pueden ser espacios, tabulaciones, saltos de línea, etc. Así que la escribir " a b" el programa le la "a" luego ve un separador y para de leer, cuando vuelve a ocurrir el cin >> Respuesta... lee la "b" para evitar eso puedes usar std::getlinede paso lee http://stackoverflow.com/questions/20165954/read-c-string-with-scanfla mayoría de errores típicos se puede buscar buena información buscando por internet
el getline funciona, un ejemplo de uso seríaCódigo: C++#include <iostream>#include <string>int main(){ std::string s; std::getline(std::cin, s); std::cout << s;}sobre lo del scanf, si quieres leer una string a lo C-style con scanf usa un tipo primitivo como char[] Sobre el main que pusiste, podrías hacer un return 0; en vez de un break, y normalmente no se coloca el ";" después de los if por lo que se.Tampoco es muy recomendable usar llamadas a system(). No entendí lo último que dijiste del getline y el cout, pasa un pequeño code compilable para ejemplificarlo si puedes.
else if(){}
Sobre el main que pusiste, podrías hacer un return 0; en vez de un break, y normalmente no se coloca el ";" después de los if por lo que se.