Ejemplos de C - Consulta de ficheros secuenciales

1.- Programa que consulta un fichero (creado en un ejercicio del apartado anterior) y saca la información por pantalla:

#include<stdio.h>
#include<string.h>
FILE *fprofes;

struct profesores
{
long int dni[10];
char nom[30];
char dir[30];
long int des[5];
char cat;
char titul;
long int fecha[6];
};

void main()
{
struct profesores rprofes;
int primaria;
int secundaria;
int universidad;
fprofes=fopen("a:\\ficheros\\fprofes.d","rb");
if (fprofes==NULL)
{
puts("Error de apertura de fprofes\n");
goto fin;
}
puts("MINISTERIO DE EDUCACION Y CULTURA\n");
puts(" DATOS DE LOS PROFESORES\n");
puts("DNI\tNOMBRE\tDIRECCION\tCATEGORIA\n");
primaria=0;
secundaria=0;
universidad=0;
fread ((char*)&rprofes,sizeof(rprofes),1,fprofes);
while(!feof(fprofes))
{
if (rprofes.cat=='p' || rprofes.cat=='P')
primaria++;
else if(rprofes.cat=='s' || rprofes.cat=='S')
secundaria++;
else if(rprofes.cat=='u' || rprofes.cat=='U')
universidad++;
printf("%ld\t%s\t%s\t%c\n",*rprofes.dni,rprofes.nom,rprofes.dir,rprofes.cat);
fread((char*)&rprofes,sizeof(rprofes),1,fprofes);
}
puts("\n");
printf("Profes. Primaria=%d Secundaria=%d Universidad=%d\n",primaria,secundaria,universidad);
puts("\n");
fclose(fprofes);
fin:puts("Fin del programa\n");
}

2.- Programa que consulta un fichero (creado en un ejercicio del apartado anterior) y saca la información por pantalla:

#include<stdio.h>
#include<string.h>
FILE *flibros;

struct strlibros
{
int codigo[4];
char titulo[30];
char autor[30];
char editorial[30];
int ejem[2];
};

void main()
{
struct strlibros rlibros;
flibros=fopen("a:\\ficheros\\flibros.d","rb");
if (flibros==NULL)
{
puts("Error de apertura en flibros\n");
goto fin;
}
puts("I.E.S. DOCTOR FLEMING\n");
puts(" OVIEDO\n");
puts(" RELACION DE TITULOS EN LA BIBLIOTECA\n");
puts(" --------------------------------------\n");
puts("\n");
puts("CODIGO\t TITULO\tAUTOR\t EDITORIAL\n");
puts("------\t-----------\t------\t -------\n");
fread((char*)&rlibros,sizeof(rlibros),1,flibros);
while(!feof(flibros))
{
printf("%d\t%s\t%s\t%s\n",*rlibros.codigo,rlibros.titulo,rlibros.autor,rlibros.editorial);
fread((char*)&rlibros,sizeof(rlibros),1,flibros);
}
fclose(flibros);
fin:puts("\nFin del programa");
}

3.- Programa que consulta un fichero (creado en un ejercicio del apartado anterior) y saca la información por pantalla:

#include<stdio.h>
#include<string.h>

struct strventas
{
int codigo;
long int fecha;
char tipoart;
int cantidad;
};

void main ()
{

long int total;
int nvend;
long int totvent;
int codigo_aux;

FILE *fventas;
struct strventas rventas;

fventas=fopen("a:\\ficheros\\fventas.d","rb");
if (fventas==NULL)
{
puts("\nError de apertura del fichero fventas");
goto fin;
}

puts("\n RELACION DE VENTAS");
puts("\n------------------------------------");
puts("\n");
puts("\nCODIGO VENDEDOR\tFECHA OPERACION\tTIPO ARTICULO\tCANTIDAD ARTICULO");
puts("\n---------------\t---------------\t-------------\t-----------------");
totvent=0;
nvend=0;
fread ((char*)&rventas, sizeof(rventas),1,fventas);
while (!feof(fventas))
{
codigo_aux=rventas.codigo;
total=0;
while(!feof(fventas) && codigo_aux==rventas.codigo)
{
printf("\n\t%d\t\t%ld\t\t%c\t\t%d",rventas.codigo,rventas.fecha,rventas.tipoart,rventas.cantidad);
total+=rventas.cantidad;
fread ((char*)&rventas, sizeof(rventas),1,fventas);
}
printf("\n \t\t\t TOTAL %ld",total);
nvend++;
totvent+=total;
}
puts("\n");
printf("\nNUMERO DE VENDEDORES: %d TOTAL DE VENTAS: %ld",nvend,totvent);
fclose(fventas);
fin:puts("\nFin del programa");
}

 


VOLVER

A PROGRAMAR © 2002. All Rights Reserved.
Hosted by www.Geocities.ws

1