[ Foro de C ]
#include<stdio.h>
#include<stdlib.h>
struct provedor
{
int numero_de_provedor[40];
char nombre_del_provedor[20];
char direccion_del_provedor[40];
int telefono;
};
struct articulos
{
int numero_de_articulo;
char descripcion[20];
float costo;
int numero_de_provedores;
};
/* reg_prov*/
void reg_prov(void)
{
FILE*pr;
pr=fopen("provedor.bin","wb");
if (pr==NULL)
{
printf("Error");
exit (-1);
}
do
{
printf("Numero de proveedor\n");
scanf("%d",&pr->numero_de_provedor);
printf("Nombre del proveedor\n");
gets(pr->nombre_del_provedor);
printf("Direccion del proveedor\n");
gets(pr->direccion_del_provedor);
printf("telefono\n");
scanf("%d",&pr->telefono);
fwrite(pr,sizeof(provedor),1,pr);
return 0;
}while(!feof(pr));
}
/* fin reg_prov*/
/* reg_art*/
void reg_art (void)
{
FILE*pf;
pf=fopen("articulos.bin","wb");
if(pf==NULL)
{
printf("Error");
exit (-1);
}
do
{
printf("Numero de articulo");
scanf("%d",&ar->numero_de_articulo);
printf("descripcion\n");
gets(ar->descripcion);
printf("costo\n");
scanf("%f",&ar->costo);
printf("Numero de proveedor\n");
scanf("%d",&ar->numero_de_provedores);
fwrite(ar,sizeof (articulos),1,pf);
return 0;
}while(!feof(pf));
}
/* fin reg_art*/
/* imp_prov*/
void imp_prov(void)
{
FILE*pf;
pf=fopen("directorio.bin","rb");
if(pf==NULL)
{
printf("Error");
exit -1;
}
do
{
fread(pr,sizeof(provedor),1,pf);
printf("Numero de proveedor: %d\n",pr->numero_de_provedor);
printf("Nombre del proveedor: %s\n",pr->nombre_del_provedor);
printf("Direccion del proveedor:%s\n",pr->direccion_del_provedor);
printf("Telefono %d \n",pr->telefono);
}while(sizeof(pf));
fclose(pf);
return 0;
}
/* fin imp_prov*/
/* imp_art*/
void imp_art(void);
{
FILE*pf;
pf=fopen("articulos.bon","rb");
if(pf=NULL)
{
printf("Error");
exit -1;
}
do{
fread(ar,sizeof(articulos),1,pf);
printf("numero de articulos: %d\n ",ar->numero_de_articulo);
printf("Descripcion: %s\n",ar->descripcion);
printf("Costo: %f\n",ar->costo);
printf("Numero de proveedor: %d\n", ar->numero_de_provedores);
}while(!fopen(pf));
fclose(pf);
return 0;
}
/* fin imp_art*/
/* imp_rep*/
void imp_rep(void);
{
FILE*pf;
pf=fopen("articulos.bin","rb");
pf=fopen("proveedor.bin","rb");
if(pf==NULL)
{
printf("Error");
exit (-1);
}
do
{
fread(pr,sizeof(provedor),1,pf);
fread(ar,sizeof(articulos),1,pf);
printf("Numero de articulos: %d\n",ar->numero_de_articulo);
printf("Descripcion del articulo: %s\n",ar->descripcion);
printf("Costo: %f\n",ar->costo);
printf("Numero de proveedor: %d\n", pr->numero_de_provedor);
}
while(!fopen(pf));
fclose(pf);
}
/* fin imp_rep*/
int main ()
{
struct provedor*pr;
struct articulos*ar;
int opc;
printf("seleccionar la opcion a realizar: ");
printf("1. Registrar los datos del proveedor");
printf("2. Registrar los datos de los articulo");
printf("3. Imprimir los datos del proveedor");
printf("4. Imprimir los datos de los articulos");
printf("5. Salir");
scanf("%d", &opc);
switch(opc)
{
case 1:
reg_prov();
break;
case 2:
reg_art();
break;
case 3:
imp_prov();
break;
case 4:
imp_art();
break;
default:
printf("Opcion no valida");
break;
}
system ("pause");
return 0;
}
Da más detalles. ¿Qué problemas tienes?
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)