el pragrama debe almacenar los archovos y realizar busqueda de los archivos de mediante busqueda y etc...
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Escribirlibros();
void Escribireditoras();
void Escribirautor();
void Escribirtemas();
void Consultar();
void Menuconsultorio();
int Menu();
struct TAutores
{
int Codigo;
char Nombre[25];
char Apellido[25];
char Direccion[25];
char Telefono[14];
char Fax[14];
char Correoelectronico[100];
};
struct TEditoras
{
int Codigo;
char Nombre[25];
char Apellido[25];
char Direccion[25];
char Telefono[14];
char Fax[14];
char Pagina[50];
char Correoelectronico[100];
char Representate[50];
};
struct TLibros
{
int Codigo;
char Nombre [60];
int Tema;
int CodigoTema;
int CodigoAutor;
int CodigoEditora;
}Libros;
struct TTemas
{
int Codigo;
char Descripcion [25];
};
struct Domicilio
{
char Calle[40];
char Numero[10];
char Sector[40];
char Ciudad[40];
char pais[40];
};
int main(){
int r = 1;
int Opcion = 0;
while(Opcion != 3){
system("cls");
Opcion = Menu();
switch(Opcion){
case 1:
while(r){
Escribirlibros();
Escribireditoras();
Escribirautor();
Escribirtemas();
printf("Desea continuar (1. Si, 0. No): ");
scanf("%d", &r);
}
break;
case 2:
void Consultar();
break;
case 3: return 0;
default: printf("un pecosa por estar poniendo opciones que no son validas...");
system("pause");
}
}
}
int Menu(){
int op;
printf("1. Entrada\n\r2.Consulta\n\r3.Salir\n\n\nDigite una opcion: ");
scanf("%d", &op);
return op;
}
void Escribirautor()
{
system ("cls");
int ps=1;
FILE *AR = fopen("autores.dat","a+b");
TAutores Autores;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TAutores), SEEK_SET);
printf("Digite codigo\n\n");
scanf ("%d",&Autores.Codigo);
fflush (stdin);
printf ("Digite Nombre\n\n");
gets (Autores.Nombre);
printf ("Digite el apellido\n\n");
gets (Autores.Apellido);
fflush (stdin);
printf ("Digite la direccion\n\n");
gets (Autores.Direccion);
fflush (stdin);
printf ("Digite el telefono\n\n");
gets (Autores.Telefono);
fflush (stdin);
printf ("Digite el fax\n\n");
gets (Autores.Fax);
printf ("Digite el correo electronico\n\n");
gets (Autores.Correoelectronico);
fflush (stdin);
fread(&Autores, sizeof(TAutores), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void Escribireditoras()
{
system ("cls");
int ps=1;
FILE *AR = fopen("editoras.dat","a+b");
TEditoras Editoras;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TEditoras), SEEK_SET);
printf("Digite codigo\n\n");
scanf ("%d",&Editoras.Codigo);
printf ("Digite Nombre\n\n");
gets (Editoras.Nombre);
fflush (stdin);
printf ("Digite el apellido\n\n");
gets (Editoras.Apellido);
fflush (stdin);
printf ("Digite la direccion\n\n");
gets (Editoras.Direccion);
fflush (stdin);
printf ("Digite el telefono\n\n");
gets (Editoras.Telefono);
fflush (stdin);
printf ("Digite el fax\n\n");
gets (Editoras.Fax);
printf ("Digite el correo electronico\n\n");
gets (Editoras.Correoelectronico);
fflush (stdin);
fread(&Editoras, sizeof(TEditoras), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void MenuConsulta()
{
puts ("1.Todo" );
puts ("2.Por Libros");
puts ("3.Por Autor");
puts ("4.Por Editora");
}
void consultar()
{
void MenuConsulta();
void Consultaporlibro();
}
void Escribirlibros()
{
system ("cls");
int ps=1;
FILE *AR = fopen("libros.dat","a+b");
TLibros Libros;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TLibros), SEEK_SET);
printf("Digite codigo\n\n");
scanf ("%d",&Libros.Codigo);
printf ("Digite Nombre\n\n");
gets (Libros.Nombre);
fflush (stdin);
printf ("Digite el codigo del tema\n\n");
scanf ("%d",&Libros.CodigoTema);
printf ("Digite el codigo de autor\n\n");
scanf ("%d",&Libros.CodigoAutor);
printf ("Digite el codigo de la editora \n\n");
scanf ("%d",&Libros.CodigoEditora);
fread(&Libros, sizeof(TLibros), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void Escribirtemas()
{
system ("cls");
int ps=1;
FILE *AR = fopen("temas.dat","a+b");
TTemas Temas;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TTemas), SEEK_SET);
printf("Digite codigo\n\n");
scanf ("%d",&Temas.Codigo);
printf ("Digite Descripcion\n\n");
gets (Temas.Descripcion);
fflush (stdin);
fread(&Temas, sizeof(TTemas), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void Consultaporlibro()
{
int op=0;
printf ("1.Nombre,2.Tema,3.Autor,4.Editora");
scanf ("%d",&op);
if (op=1)
{
system("cls");
char Nombre[25];
FILE *AR = fopen("libros.dat","a+b");
printf ("Digite Nombre");
fflush (stdin);
while (feof(AR)==0)
{
fread(&Libros,sizeof(struct TLibros),1,AR);
if ((strcmp(Nombre,Libros.Nombre)==0))
{
if(feof(AR)==0)
fread(&Libros,sizeof(TLibros),1,AR);
printf("\tCodigo\n\n",&Libros.Codigo);
printf ("\tNombre\n\n");
gets (Libros.Nombre);
fflush (stdin);
printf ("Digite el codigo del tema\n\n");
scanf ("%d",&Libros.CodigoTema);
printf ("Digite el codigo de autor\n\n");
scanf ("%d",&Libros.CodigoAutor);
printf ("Digite el codigo de la editora \n\n");
scanf ("%d",&Libros.CodigoEditora);
}
}
}
}