Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2011, 21:16
PrimerGT
 
Fecha de Ingreso: abril-2011
Mensajes: 2
Antigüedad: 13 años, 7 meses
Puntos: 0
para que sirve la Funcion frewind

Saludos otra vez: alguien podria decirme para que se utiliza esta funcion en c??

necesito borrar un registro de un fichero pero no encuentro ninguna funcion, y lo unico que se parece a lo que necesito es esa funcion. alguien podria decirme como elimino o modifico registros??

hasta ahora esto es lo que tengo, pero debo hacer una funcion que me permita borrar productos

Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <conio.h>
  4. #include <iostream.h>
  5. #include <ctype.h>
  6.  
  7. //ESTRUCTURA
  8. struct Aceitera
  9. {
  10.  int CodigoProducto;
  11.  char Descripcion[30];
  12.  int Unidades;
  13.  float Precio;
  14. };
  15. struct Aceitera ProducAceitera;
  16.  
  17. //ARCHIVO
  18. FILE *ArchiAceite;
  19.  
  20. //DECLARACION DE FUNCIONES
  21. void IngresoProductos(void);
  22. void ConsultaDeProductos(void);
  23. void Venta_ModificacionDelProducto(void);
  24. void EliminarRegistro(void);
  25. void EliminarArchivoCompleto(void);
  26. void ListadoDeProductos(void);
  27.  
  28. main()
  29.   {
  30.     int op;
  31.  
  32.     clrscr();
  33.     cout<<"\n\t\t       Universidad Mariano Galvez";
  34.     cout<<"\n\t\t    Programacion I. Ing Mario de Paz";
  35.     cout<<"\n\t\t\t     Grupo No. 3";
  36.     cout<<"\n\n\n\t\t\t\     >>>ACEITERA<<<";
  37.     cout<<"\n\n\n\n\ Seleccione una Opcion:\n";
  38.     cout<<"\n\r 1. Ingreso de Producto";
  39.     cout<<"\n\r 2. Consulta de Producto";
  40.     cout<<"\n\r 3. Venta_Modificacion de Producto";
  41.     cout<<"\n\r 4. Eliminar un Producto";
  42.     cout<<"\n\r 5. Eliminar Archivo";
  43.     cout<<"\n\r 6. Listado de Productos\n\n ";
  44.     cin>>op;
  45.     switch(op)
  46.     {
  47.     case 1: IngresoProductos(); break;
  48.     case 2: ConsultaDeProductos(); break;
  49.     case 3: Venta_ModificacionDelProducto();break;
  50.     case 4: EliminarRegistro(); break;
  51.     case 5: EliminarArchivoCompleto(); break;
  52.     case 6: ListadoDeProductos(); break;
  53.     default: cout<<"\a\n Opcion no valida!";
  54.     cout<<"\n Presiona una tecla para salir";getch(); break;
  55.     }
  56.   }
  57.  
  58.  
  59. //FUNCION INGRESO
  60. void IngresoProductos(void)
  61. {
  62.  int CodigoProducto;
  63.  clrscr();
  64.  cout<<"\n\n\r INGRESE LOS CAMPOS DEL PRODUCTO";
  65.  //Abrir Nuestro_Archivo en solo-lectura
  66.  ArchiAceite=fopen("PRODUCTOS.SEC","rb+");
  67.  //En caso de que no exista lo crearemos
  68.  if(ArchiAceite==NULL)
  69.     ArchiAceite=fopen("PRODUCTOS.SEC","wb");
  70.  cout<<"\n\n\n\r Ingrese el Codigo del Producto: ";
  71.  cin>>CodigoProducto;
  72.  //Leer el "Registro_Vehiculo" de tamaño=sizeof(Registro_Vehiculo)
  73.  //Del archivo: Nuestro_Archivo
  74.  fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  75.  //Mientras no se encuentre el final del archivo
  76.  while(!feof(ArchiAceite))
  77.       {
  78.       if(ProducAceitera.CodigoProducto==CodigoProducto)
  79.         {
  80.         cout<<"\n\n\n\r ---Registro duplicado--- Este Id ya existe!!!";
  81.         fclose(ArchiAceite);
  82.         getch();
  83.         return;
  84.         }
  85.       fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  86.       }
  87.  cout<<"\n\r Descripcion del Producto: "; gets(ProducAceitera.Descripcion);
  88.  cout<<"\n\r Cantidad de unidades disponibles: ";
  89.  cin>>ProducAceitera.Unidades;
  90.  cout<<"\n\r Precio: ";
  91.  cin>>ProducAceitera.Precio;
  92.  
  93.  
  94.  ProducAceitera.CodigoProducto=CodigoProducto;
  95.  
  96.  //Guardar el registro completo
  97.  fwrite(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  98.  //Cerrar archivo
  99.  fclose(ArchiAceite);
  100.  
  101.  cout<<"\n\n\n\ Producto Registrado!!";
  102.  cout<<"\n\ Presione una tecla para contunuar...";
  103.  getch();
  104.  return;
  105. }
  106.  
  107.  
  108. //FUNCION CONSULTA
  109. void ConsultaDeProductos(void)
  110. {
  111.  int cod;
  112.  clrscr();
  113.  cout<<"\n\ CONSULTA DE PRODUCTOS PARA LA VENTA";
  114.  //Abrir Archivo en solo-lectura
  115.  ArchiAceite=fopen("PRODUCTOS.SEC","rb");
  116.  if(ArchiAceite==NULL)
  117.    {
  118.    cout<<"\a\n\n\ No hay Ningun archivo Guardado";
  119.    cout<<"\n\ Presione una tecla para continuar...";
  120.    getch();
  121.    return;
  122.    }
  123.  cout<<"\n\n\n\ Cual es el codigo del producto?: ";
  124.  cin>>cod;
  125.  fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  126.  while(!feof(ArchiAceite))
  127.       {
  128.       cout<<"\n\ Codigos Archivados: ";
  129.       cout<<ProducAceitera.CodigoProducto;
  130.       cout<<"\n\ Codigo Ingresado: ";
  131.       cout<<cod;
  132.       if(ProducAceitera.CodigoProducto==cod)
  133.         {
  134.         cout<<"\n\n\n------------------------------------------------------";
  135.         cout<<"\nCodigo\tDescripcion\t\tUnidades\tPrecio";
  136.         cout<<"\n\------------------------------------------------------\n";
  137.         cout<<ProducAceitera.CodigoProducto;
  138.         cout<<"\t"<<ProducAceitera.Descripcion;
  139.         cout<<"\t\t"<<ProducAceitera.Unidades;
  140.         cout<<"\t\t"<<ProducAceitera.Precio<<"\n";
  141.  
  142.         fclose(ArchiAceite);
  143.         cout<<"\n\n\n Oprima una tecla para continuar...";
  144.         getch();
  145.         return;
  146.         }
  147.       fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  148.       }
  149.  cout<<"\n\r No se encuentra el Registro!!!";
  150.  fclose(ArchiAceite);
  151.  cout<<"\n\r Oprima cualquier tecla para continuar...";
  152.  getch();
  153.  return;
  154. }
  155.  
  156.  
  157. //FUNCION VENTA-MODIFICACION DEL PRODUCTO
  158. void Venta_ModificacionDelProducto(void)
  159. {
  160.  
  161. }
  162.  
  163.  
  164. //FUNCION ELIMINAR UN REGISTRO
  165. void EliminarRegistro(void)
  166. {
  167.  
  168. }
  169.  
  170. //FUNCION ELIMINAR ARCHIVO COMPLETO
  171. void EliminarArchivoCompleto(void)
  172. {
  173.  char opcion;
  174.  clrscr();
  175.  cout<<"\n\n ELIMINACION DE ARCHIVO COMPLETO";
  176.  cout<<"\n\n Desea eliminar el archivo Completo? S/N ";
  177.  cin>>opcion;
  178.    if(opcion=='S')
  179.    {
  180.    if(remove("PRODUCTOS.SEC")!=0)
  181.       cout<<"\a\n\n No har Archivo para eliminar";
  182.    else
  183.       cout<<"\n\n Archivo Eliminado";
  184.    cout<<"\n Pulse una tecla para continuar...";
  185.    getch();
  186.    }
  187.  
  188.  return;
  189. }
  190.  
  191.  
  192. //FUNCION DE LISTADO
  193. void ListadoDeProductos(void)
  194. {
  195.  clrscr();
  196.  
  197.  cout<<"\n\LISTADO DE REGISTROS DE PORDUCTO";
  198.  ArchiAceite=fopen("PRODUCTOS.SEC","rb");
  199.  if(ArchiAceite==NULL)
  200.    {
  201.    cout<<"\a\n\n\ No hay Ningun archivo Guardado";
  202.    cout<<"\n\ Oprima cualquier tecla para contuniuar...";
  203.    getch();
  204.    return;
  205.    }
  206.  cout<<"\n\n\n------------------------------------------------------";
  207.  cout<<"\nCodigo\tDescripcion\t\tUnidades\tPrecio";
  208.  cout<<"\n\------------------------------------------------------\n";
  209.  fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  210.  while(!feof(ArchiAceite))
  211.       {
  212.       cout<<ProducAceitera.CodigoProducto;
  213.       cout<<"\t"<<ProducAceitera.Descripcion;
  214.       cout<<"\t\t"<<ProducAceitera.Unidades;
  215.       cout<<"\t\t"<<ProducAceitera.Precio<<"\n";
  216.       fread(&ProducAceitera,sizeof(ProducAceitera),1,ArchiAceite);
  217.       }
  218.  fclose(ArchiAceite);
  219.  cout<<"\n\------------------------------------------------------";
  220.  cout<<"\n\nFin del listado";
  221.  cout<<"\n\nOprima ENTER para continuar...";
  222.  getch();
  223.  return;
  224. }