[ Foro de C++ ]
Tengo este ejercicio hecho, pero al ejecutarlo me salen actor principal y sinopsis en la misma linea y solo me deja escribir en sinopsis. Sé que tengo que utilizar el cin.ignore() pero no sé dónde. ¿Alguien podría ayudarme?
Este es el ejercicio:
#include<iostream>
#include<conio.h>
using namespace std;
struct pelicula{
string director, actor, sinopsis;
int ano;
float valoracion;
}pelicula1;
int main(){
cout<<"Nombre del director: ";
getline(cin, pelicula1.director);
cout<<"Ano de estreno: ";
cin>>pelicula1.ano;
cout<<"Actor principal: ";
getline(cin, pelicula1.actor);
cout<<"Sinopsis: ";
getline(cin, pelicula1.sinopsis);
cout<<"Valoracion separado por . : ";
cin>>pelicula1.valoracion;
cout<<"\nMostrando datos\n";
cout<<"Director: "<<pelicula1.director<<endl;
cout<<"Ano: "<<pelicula1.ano<<endl;
cout<<"Actor: "<<pelicula1.actor<<endl;
cout<<"sinopsis: "<<pelicula1.sinopsis<<endl;
cout<<"Valoracion: "<<pelicula1.valoracion<<endl;
return 0;
}
Deberás usarlo después de cada lectura de datos numéricos, si a continuación es posible que leas un dato de texto.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)