Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2011, 10:15
jose_val
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Ayuda con búsqueda en ficheros

Hola, he aprendido mucho desde la sombra durante meses en este foro con vuestras respuestas.
Ahora me he tenido que registrar a causa de una piedra que no consigo quitar de mi camino.
Estoy realizando un programa en c++ y tengo un problema donde no doy con la solución.

Se trata de leer un fichero txt y escribir en él, guardando los datos y mediante un menú acceder a listar e introducir datos, hasta aquí todo bien y funcionando. El problema es crear un bucle para buscar una palabra introducida por teclado (esta palabra tiene que encontrarse en el fichero) y lo más gordo es que hay que imprimir por pantalla la linea inferior de la palabra, que en este caso es una cifra y no el nombre que se ha buscado. Me explico mejor...

el fichero txt. tiene que tener este orden:

producto1
cantidad 1

producto2
cantidad2

....

A este fichero se accede perfectamente con un menú, mostrando el contenido por pantalla y con la opción de ingresar datos, todo funciona bien.

Ahora necesito otra opción dentro de switch, buscar mediante una palabra la cantidad de ese producto.

Los datos se almacenan en dos vectores y se escriben correctamente.
Sería, fichero[datos].producto y fichero[datos]cantidad.

Tengo realizado hasta aquí dentro de la opción de case correspondiente....

Código C++:
Ver original
  1. char nombre;
  2. cout<<"Introduce el nombre del producto que desea conocer la cantidad"<<endl;
  3. cin>>nombre;
  4. Leer.open("fichero.txt"); // abro para leer el fichero
  5. if (!Leer)
  6. cout<<"El archivo no se pudo abrir!";
  7. else
  8. {
  9. while(!Leer.eof()&& datos<contador)//bucle para leer el fichero
  10. {
  11. getline(Leer,fichero[datos].producto);
  12. Leer>>fichero[datos].cantidad;
  13. Leer.ignore();
  14. n_datos++;
  15. }
  16.  
  17. // aquí debería de ir el código para buscar la palabra e imprimir por
  18. // pantalla la linea siguiente que muestra la cantidad de producto.
  19.  
  20. Leer.close();

Gracias y feliz año nuevo.

Última edición por jose_val; 03/01/2011 a las 03:17