#pragma hdrstop #include #include #include

Anuncio
#pragma hdrstop
#include <condefs.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
//------------------------------------------------------------------#pragma argsused
struct articulo
{
int codigo;
char nombre[41];
double precio;
int existencia;
};
void entrardatos();
void buscardatos();
void listardatos();
main()
{
int n;
do
{
clrscr();
printf("1. Ingreso de datos\n2. Buscar un dato\n3. "
"Listar\nOtro salir\n");
scanf( "%d", &n );
getchar();
switch( n )
{
case 1:
entrardatos();
break;
case 2:
buscardatos();
break;
case 3:
listardatos();
break;
}
}while(n > 0 && n < 4);
system("pause");
}
void entrardatos()
{
FILE * f;
int n;
struct articulo art;
f = fopen( "articulos.dat", "a+b" );
if( f != NULL )
{
do
{
clrscr();
printf( "Entre Codigo " ); scanf ("%d", &art.codigo );
getchar();
printf( "Nombre " ); gets( art.nombre );
printf( "Precio " ); scanf( "%lf", &art.precio );
printf( "Existencia " ); scanf("%d", & art.existencia );
printf( "\n1. Guarda Otra corrige " ); scanf("%d", &n );
if( n == 1 )
{
fwrite(&art, sizeof(articulo), 1, f );
}
printf("1. Finalizar Otra sigue entrando datos " ); scanf
}while( n != 1 );
fclose( f );
}
}
void buscardatos()
{
FILE * f;
struct articulo art;
int n, registros;
f = fopen( "articulos.dat", "a+b" );
if( f != NULL
{
fseek( f,
registros
registros
)
0, SEEK_END );
= ftell( f );
/= sizeof(struct articulo );
do
{
clrscr();
printf( "Lugar a buscar entre %d registros ", registros )
getchar();
}while( !(n > 0 && n <= registros) );
n = n-1;
fseek( f, n*sizeof(struct articulo), SEEK_SET );
fread( &art, sizeof( struct articulo ), 1, f );
printf( "\nCodigo %d\n", art.codigo );
printf( "Nombre %s\n", art.nombre );
printf( "Precio %lf\n", art.precio );
printf( "Existencia %d\n\n", art.existencia );
printf( "Presione una tecla para continuar\n" );
getchar();
fclose( f );
}
}
void listardatos()
{
FILE * f;
struct articulo art;
f = fopen("articulos.dat", "rb" );
if( f != NULL )
{
clrscr();
while( !feof(f) )
{
fread( &art, sizeof(struct articulo), 1, f );
printf( "%d\t\t", art.codigo );
printf( "%s\t\t", art.nombre );
printf( "%6.2lf\n", art.precio );
}
fclose(f);
printf("\nPresione una tecla" );
getchar();
}
}
Descargar