Foros del Web » Programación para mayores de 30 ;) » C/C++ »

busquedas en archivos txt en c o c++

Estas en el tema de busquedas en archivos txt en c o c++ en el foro de C/C++ en Foros del Web. Hola de nuevo amigos, una vez tuvimos un examen y consistía en un programa de ventas, y en un archivo de txt venia la siguiente ...
  #1 (permalink)  
Antiguo 14/05/2012, 16:48
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta busquedas en archivos txt en c o c++

Hola de nuevo amigos, una vez tuvimos un examen y consistía en un programa de ventas, y en un archivo de txt venia la siguiente estructura fecha de la venta, codigo del vendedor y monto cada uno separado por el caracter '|' y de eso se debe obtener ventas por vendedor, ventas por dia, bueno y resulta que aun no he podido resolver eso, he intentado llenar un vector con los datos del txt y trabajar desde ahi, pero no le veo mucho futuro a eso, si alguien tiene una idea, o me puede orientar sobre cual es el mejor metodo para trabajar eso, o lo mas conveniente para realizar una busqueda de verdad agradezco cualquier ayuda gracias.
  #2 (permalink)  
Antiguo 14/05/2012, 18:13
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: busquedas en archivos txt en c o c++

podrias hacer una estructura con los 3 datos (fecha de la venta, codigo del vendedor y monto), luego crear un vector de la stl y cada vez que leas un nuevo struct del archivo lo guardes en el vector:

Código C++:
Ver original
  1. #include <vector>//necesario para crear el vector de la stl
  2. using namespace std;
  3. ...
  4. struct datos{
  5. char fecha[10];
  6. int vendedor;
  7. float monto;
  8. };
  9.  
  10. vector<datos>ventas;
  11.  
  12. //aca abris el archivo
  13.  
  14. while(!Archivo.eof()){
  15.  
  16. //lees la linea con los 3 datos y los guardas en una variable de tipo "dato"
  17. //el struct anteriormente creado
  18.  
  19. ventas.push_back(datos_leidos);//se inserta un nuevo elemento en el vector
  20. }

ahora cada vez que quieras consultar un dato lo podes hacer como un vector normal, usando los corchetes


no tengo un compilador a mano, asi que el codigo puede tener errores, pero proba hacerlo asi.... igualmente tenes diferentes maneras de hacerlo, esta es una nomas
saludos
  #3 (permalink)  
Antiguo 14/05/2012, 20:58
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: busquedas en archivos txt en c o c++

Hola! en C lo q tendrias q hacer es recuperar linea a linea del archivo y como tiene este formato: fecha_de_venta|codigo_vendedor|monto
lo que tendrias q hacer es parsear esa linea, osea dividirla en tokens para luego tratar cada dato como quieras. Una funcion para eso podria ser strtok() de la libreria string.h

Saludos
  #4 (permalink)  
Antiguo 15/05/2012, 06:45
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: busquedas en archivos txt en c o c++

Puntualmente cual es tu problema, leer el archivo, alamcenar la informacion , o buscar una vez que almacenaste todo??

Saludos
  #5 (permalink)  
Antiguo 15/05/2012, 10:42
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: busquedas en archivos txt en c o c++

si el problema es buscar una vez que se almaceno todo sam90
  #6 (permalink)  
Antiguo 15/05/2012, 18:53
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: busquedas en archivos txt en c o c++

Entonces asi ya tenes todo almacenado mostranos la estructura que usus para almacenar los datos. Tanto formato de fecha, codigo , monto....y el array o lista o como lo hayas hecho de los datos....

Basicamente deberias hacer un iterador que compare fecha por cada campo y tener un acumulador para los montos..

Saludos......

Etiquetas: buscar_en_ficheros, ficheros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.