• Domingo 15 de Diciembre de 2024, 06:50

Autor Tema:  Problema con ficheros  (Leído 1209 veces)

jose_val

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problema con ficheros
« en: Domingo 2 de Enero de 2011, 17:50 »
0
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++
  1.  
  2. case '3':
  3. char nombre;
  4. cout<<"Introduce el nombre del producto que desea conocer la cantidad"<<endl;
  5. cin>>nombre;
  6. Leer.open("fichero.txt"); // abro para leer el fichero
  7. if (!Leer)
  8. cout<<"El archivo no se pudo abrir!";
  9. else
  10. {
  11. while(!Leer.eof()&& datos<contador)//bucle para leer el fichero
  12. {
  13. getline(Leer,fichero[datos].producto);
  14. Leer>>fichero[datos].cantidad;
  15. Leer.ignore();
  16. n_datos++;
  17. }
  18.  
  19. // aquí debería de ir el código para buscar la palabra e imprimir por
  20. //pantalla la linea siguiente que muestra la cantidad de producto.
  21.  
  22. Leer.close();
  23. break;
  24.  
  25.  

Gracias y feliz año nuevo.
« última modificación: Lunes 3 de Enero de 2011, 10:30 por jose_val »

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Problema con ficheros
« Respuesta #1 en: Domingo 2 de Enero de 2011, 22:50 »
0
No entiendo bien cuál es tu problema.

jose_val

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problema con ficheros
« Respuesta #2 en: Domingo 2 de Enero de 2011, 23:25 »
0
Cita de: "m0skit0"
No entiendo bien cuál es tu problema.

Necesito saber como hago un bucle que me busque una palabra en un fichero txt. y me imprima la linea siguiente, que en el caso del programa será la de la cantidad del producto.

Saludos.