Hola Miren tengo este problema paso la direccion del arreglo d eestructuras para q leea el primer elemento que es codigo(variable de tipo string) pero se va directamente a leer el nombre y no me deja ingresar el codigo aqui el code q para mi esta bien y es problema del getline podrian echarme una mano ??
#include<iostream>
#include<string.h>
using namespace std;
struct pro{
string codigo;
string nombre;
string descripcion;
string laboratorio;
double precio;
double iva;
int existencia;
};
void leer(struct pro *apt)
{
double IVA = 0.16;
double total;
cout<<"Teclea el Codigo "<<endl;
getline (cin,apt->codigo);/////NO PASA POR AQUI POR LO VISTO
cout<<"Nombre "<<endl;// PASA DIRECTAMENTE A INGRESAR EL NOMBRE Y EL CODIGO SE LO PASA POR LO HUEV..S
getline (cin,apt->nombre);
cout<<"Descripcion: "<<endl;
getline (cin,apt->descripcion);
cout<<"Laboratorio: "<<endl;
getline(cin,apt->laboratorio);
cout<<"Precio: "<<endl;
cin>>apt->precio;
total=(apt->precio*IVA);
apt->iva=total;
cout<<"Cuantos ay en existencia"<<endl;
cin>>apt->existencia;
}
void imprimir(struct pro *ap)
{
cout<<" CODIGO: "<<ap->codigo<<endl;
cout<<" NOMBRE: "<<ap->nombre<<endl;
cout<<" DESCRIPCION: "<<ap->descripcion<<endl;
cout<<" LABORATORIO: "<<ap->laboratorio<<endl;
cout<<" PRECIO: "<<ap->precio<<endl;
cout<<" IVA: "<<ap->iva<<endl;
cout<<" EXISTENCIA: "<<ap->existencia<<endl;
}
int main ()
{
int n=0;
pro * apt=0;
cout<<"Numero de elementos"<<endl;
cin>>n;
apt= new pro[n];
for(int i=0;i<n;i++)
{
leer(&apt);
}
for(int j=0;j<n;j++)
{
imprimir(&apt[j]);
}
delete [] apt ;
return 0;
}
Saludos Gracias