Hola buenos dias , estoy intentando crear y visualizar un fichero , pero no consigo crearlo , tengo este codigo alguna ayuda.
-----------------------------------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
/* 1) *Declaracion del registro*/
struct REGISTRO{
char almacen[10];
char codpro[10];
char descri[20];
int exis;
long precio;
}reg;
/* 2) Declaracion de fichero */
FILE *pf;
void Creacion(), Visualizacion(),Salir();
int i , op;
char Titulo[80];
void main(){
void Creacion(), Viusalizacion(),Salir();
do{
clrscr();
gotoxy (35,2);printf("M E N U FICHERO");
gotoxy (35,6);printf("1-C R E A C I O N");
gotoxy (35,8);printf("2-V I S U A L I Z A C I O N");
gotoxy (35,10);printf("4=Salir:");
gotoxy (32,16);printf("Teclea opcion:");
clreol(); fflush(stdin);scanf("%d",&op);
if(op!=4)
switch(op){
case 1: clrscr();Creacion(); break;
case 2: clrscr();Visualizacion();break;
case 4: clrscr();Salir(); break;
}
}while(op!=4);
}
void Creacion(){
// 3) Cabecera Titulo del proceso
clrscr();
printf(" CREACION DE FICHERO SECUENCIAL \n");
printf("=============================== \n");
// 4) Apertura del fichero
if ((pf=fopen("FALMACEN.DAT","wb"))== NULL)
{
printf(" No se puede abrir el archivo ...\n");
exit(0);
}
while(1)
{
/*5)Tecleo de datos del registro para alamacebarlas en var.de memo,principal*/
printf("Introduce ALMACEN (fin = f):");gets(reg.almacen);
if(strcmp(reg.almacen,"f") == 0);
printf("Introduce Cod.Pro :");gets(reg.codpro);
printf("Introduce Descripcion :");gets(reg.descri);
printf("Introduce Existencias :");scanf("%d",®.exis);
printf("Introduce Precio_unit :");scanf("%ld",®.exis);
fflush(stdin);
/* Grabacion del registro en el fichero */
fwrite(®,sizeof(reg),1,pf);
}
/* Cierre delfichero */
fclose(pf);
printf("Fichero creado"); getch();
}
void Visualizacion(){
clrscr();
printf("Dame Titulo de la Visualizacion: "); gets(Titulo);
//2) visulaizamos el Titulo:
clrscr();
printf("%s\n",Titulo);
for(i=0;i<strlen(Titulo);i++) printf("=");printf("\n\n");
//3 Cabezeras Campos registro:
printf("%-15s %-15s %-20s %10s %10s\n","ALMACEN","COD.PRO", "DESCRIPC.",
"EXISTENCIAS","PRECIO");
for(i=0;i<80;i++) printf("-");
// 4)Apertura del archivo_
if ((pf=fopen("FALMACEN.DAT","rb"))== NULL)
{
printf(" No se puede abrir el archivo ...\n");
exit(0);
}
// 5) Lectura del primer registro:
fread(®,sizeof reg,1,pf);
while(!feof(pf))
{
//6) Visualizacion del registro
printf("%-15s %-15s %-20s %10s %10s\n", reg.almacen,reg.codpro,
reg.descri,reg.exis,reg.precio);
// 7)Lectura de los siguientes registros.
fread(®,sizeof reg,1,pf);
}
//8) Cierre del archivo
fclose(pf);
getch();
}
void Salir(){
}