Ayuda c++ #include <iostream>

Iniciado por unknow_10, 27 Octubre 2017, 04:32 AM

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

unknow_10

 Hola mis amigos soy nuevo en este foro...estuve buscando en internet sobre como leer cadenas de texto largas y con espacios
Estoy aprendiendo programacion y quisiera que me ayuden con esta duda:
Código (cpp) [Seleccionar]

#include <iostream>
using namespace std;
int main(){
  string palabra;
  int n;cin>>n;
  while(n--){
     getline(cin,palabra);
     for (int i = palabra.length()-1; i >=0 ; i--)
     {
        cout<<palabra;
     }
     cout<<'\n';
  }
  return 0;
}

la duda es la siguiente no entiendo porque para un n=3
entra al ciclo y solo me hace el proceso 2 veces luego se sale
como podria solucionarlo...?
se agradece su ayuda de antemano!!



· Los códigos deben ir en etiquetas GeSHi
· No hagas doble post
· No revivas temas viejos
>aquí las reglas del foro
-Engel Lex

ivancea96

Respuesta corta: Si vas a usar getline después de un "cin >> X", pon después del "cin >> X" un "cin.ignore()".

Respuesta larga: "cin >> X" deja en el el stream de entrada el salto de línea que envías al pulsar ENTER. Como deja ese caracter, el próximo getline lo va a leer, con lo cual ya no va a pedirte entrada.