elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Fichero secuencial binario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Fichero secuencial binario  (Leído 1,975 veces)
DevMind89

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Fichero secuencial binario
« en: 21 Agosto 2017, 14:31 pm »

Hola buenas tengo en siguiente codigo:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct stock{
  6. int cod_Articulo;
  7. int nivel_maximo;
  8. int nivel_minimo;
  9. int nivel_actual;
  10. char proveedor[30];
  11. int precio;
  12. }regstock;
  13.  
  14. struct pedidos{
  15. int cod_Articulo;
  16. char proveedor[30];
  17. int total_pedido;
  18. }regpedidos;
  19.  
  20.  
  21. int main()
  22. {
  23. FILE *stock,*pedidos;
  24.  
  25. stock = fopen("stock.dat","rb+");
  26. pedidos = fopen("pedidos.dat","rb+");
  27.  
  28. if(stock == NULL || pedidos == NULL)
  29. {
  30. puts("Error al intentar leer los archivos");
  31. }
  32. else
  33. {
  34. while(!feof(stock))
  35. {
  36. fread(&regstock,sizeof(regstock),1,stock);
  37. if(regstock.nivel_actual<regstock.nivel_minimo)
  38. {
  39. regpedidos.cod_Articulo=regstock.cod_Articulo;
  40. strcpy(regpedidos.proveedor,regstock.proveedor);
  41. regpedidos.total_pedido=regstock.nivel_maximo-regstock.nivel_actual;
  42. fwrite(&regpedidos,sizeof(regpedidos),1,pedidos);
  43. }
  44. }
  45. }
  46.  
  47. fclose(stock);
  48. fclose(pedidos);
  49.  
  50. return 0;
  51. }
  52.  

Lo que quiero saber si este código esta bien, necesito leer el fichero stock, y si el nivel actual es menor que el nivel mínimo, grabar los datos en el fichero pedidos. El total_pedido es la cantidad máxima de pedido que hacer que hacer hasta llegar al nivel máximo.

Me refiero a que si mi código esta bien para leer un fichero, cumplir una condición y si es así, escribir datos en otro fichero. No puedo saber si anda ya que los ficheros stock y pedidos, no los tengo hay que imaginar que están hechos con contenido almacenado en su interior.



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 22 Agosto 2017, 02:27 am por engel lex » En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Fichero secuencial binario
« Respuesta #1 en: 21 Agosto 2017, 15:19 pm »

No deja de ser gracioso, que tu no quieras probar tu propio código, porque 'no tienes los ficheros' y en cambio pidas a los demás que lo 'prueben', que ni tienen los ficheros, ni lo hicieron.

Si no tienes ficheros, los creas, con valores ficticios y lo pruebas, como mínimo para asegurarte que no genera errores...
Luego, si altera un dato en una posición incorrecta o no, eso es algo que debes probar con un fichero 'original' (aunque sea una copia, por supuesto).

Aquí nadie tiene forma de saber si 'total' aparece en determinada posición o no.
En principio si tus ficheros contienen (en cada uno) solo registros y nada más que registros y de un solo tipo, no debería ser problemático, no hay que calcular desplazamientos debido a cabeceras ni irregularidades por la desimetría de determinados campos (los char son arrays de tamaño fijo, según declaraste en las estructuras)... así que puedes proceder a probar creando tu mismo unos ficheros, metiendo registros ficticios (pero con valores razonables).

Sólo si tienes errores y no logras localizarlos es cuando compete, reclamar ayuda.... ehmmmm... que tu código, no opera sobre una central nuclear, no requiere una supervisión previa y justificada para que lo pruebes...  :laugh: :laugh: :laugh:


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] fichero binario
Programación C/C++
prosco 1 2,700 Último mensaje 17 Mayo 2011, 23:31 pm
por willyhunting
Eliminar duplicados fichero binario
Programación C/C++
andrewmetal93 1 2,272 Último mensaje 9 Mayo 2012, 19:23 pm
por andrewmetal93
Ayuda con un ejercicio. Grabar datos en un fichero secuencial de texto.
Java
Droigor 7 6,528 Último mensaje 22 Marzo 2014, 21:31 pm
por Debci
Acceso en fichero binario en C
Programación C/C++
JHodges 1 1,756 Último mensaje 17 Junio 2015, 01:01 am
por ivancea96
escribir en un fichero binario
Programación C/C++
snowspring 1 1,576 Último mensaje 20 Diciembre 2018, 11:50 am
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines