Título: Problema al leer cadenas con espacios [C++] Publicado por: Don Pollo en 19 Mayo 2011, 18:30 pm Veréis, tengo esta función:
Código: void Farmacia::meterMedicamento(){ string acodigo; char anombre[50]; char aformato[50]; string alaboratorio; float apvp; Casilla *cas; int unidades; cout << "Inserte el nombre del medicamento: "; cin>>anombre; do{ cout<<"Inserte el código de 7 dígitos: "; cin>>acodigo; }while(acodigo.length()!=7); cout<<"Inserte el formato del medicamento: "; //cin>>aformato; fflush(stdin); fgets(aformato,50,stdin); aformato[strlen(aformato)-1]='\0'; cout<<"Inserte el laboratorio: "; cin>>alaboratorio; cout<<"Inserte el precio: "; cin>>apvp; cout<<"Indique las unidades que habrá en el stock: "; cin>>unidades; if(unidades>=0){ Medicamento med(acodigo, anombre, aformato, alaboratorio, apvp); this->nuevoMedicamento(&med); cas = this->casillaVacia(); this->colocarMedicinaEstante(med.verCodigo(), cas, unidades); } Y cuando pasa por leer el formato del medicamento, se lo salta directamente y no puedo introducírselo. Me podéis decir qué está mal? Gracias de antemano. :) Título: Re: Problema al leer cadenas con espacios [C++] Publicado por: d00ze13 en 19 Mayo 2011, 19:00 pm leete este post que tienes mas abajo a ver si te puede solventar tus dudas
http://foro.elhacker.net/programacion_cc/guarda_cadenas_con_espacios_como-t327983.0.html Título: Re: Problema al leer cadenas con espacios [C++] Publicado por: Don Pollo en 19 Mayo 2011, 19:12 pm Lo he puesto como dicen en el post que has puesto, pero se sigue saltando la lectura del parámetro. A qué se puede deber?
Título: Re: Problema al leer cadenas con espacios [C++] Publicado por: Lx en 20 Mayo 2011, 03:49 am Mmm.. Probé tu código y me lee todo ...
Pero si no es así contigo prueba esto: Código
Cada vez que dejes de hacer lecturas cin o scanf debes poner while(getchar()!='\n') para limpiar la basura del buffer que deja esas funciones de lectura. |