El programa debe permitir hacer consulta de:
Libros:
- Por Nombre
- Por Tema
- Por Autor
- Por Editora
- Por ISBN
Autor:
- Por Libro
- Por Ciudad
- País
- Por Editora
- Por Tema
Editora
- Por Libro
- Por Ciudad
- Por Autor
- Por País
Código:
#include<stdio.h>
#include<stdlib.h>
void Escribirlibros();
void Escribireditoras();
void Escribirautor();
void Escribirtemas();
Consultar();
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 TEdictoras
{
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 Libros
{
int Codigo;
char Nombre [60];
int Tema;
int CodigoTema;
int CodigoAutor;
int CodigoEdictora;
};
struct Temas
{
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:
Consultar();
break;
case 3: return 0;
default: printf("un pecosa por estar poniendo opciones que no son validas...");
system("pause");
}
}
}
int Menu(void){
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);
printf ("Digite Nombre\n\n");
gets (Autores.Nombre);
fflush (stdin);
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 Escribireditora()
{
system ("cls");
int ps=1;
FILE *AR = fopen("edictoras.dat","a+b");
TEdictoras Edictoras;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TEdictoras), 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(TEdictoras), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void Escribirlibros()
{
system ("cls");
int ps=1;
FILE *AR = fopen("edictoras.dat","a+b");
TLiboros 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",Edictoras.Codigo);
printf ("Digite Nombre\n\n");
gets (Edictoras.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.Editora);
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");
}
#include<stdlib.h>
void Escribirlibros();
void Escribireditoras();
void Escribirautor();
void Escribirtemas();
Consultar();
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 TEdictoras
{
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 Libros
{
int Codigo;
char Nombre [60];
int Tema;
int CodigoTema;
int CodigoAutor;
int CodigoEdictora;
};
struct Temas
{
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:
Consultar();
break;
case 3: return 0;
default: printf("un pecosa por estar poniendo opciones que no son validas...");
system("pause");
}
}
}
int Menu(void){
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);
printf ("Digite Nombre\n\n");
gets (Autores.Nombre);
fflush (stdin);
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 Escribireditora()
{
system ("cls");
int ps=1;
FILE *AR = fopen("edictoras.dat","a+b");
TEdictoras Edictoras;
if (AR==NULL)
{
printf ("No se pudo abrir el archivo");
}
else
do {
fseek(AR, (ps-1) * sizeof(TEdictoras), 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(TEdictoras), 1, AR);
ps++;
}while(!feof(AR));
fclose(AR);
printf("\n\n\n");
system("pause");
}
void Escribirlibros()
{
system ("cls");
int ps=1;
FILE *AR = fopen("edictoras.dat","a+b");
TLiboros 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",Edictoras.Codigo);
printf ("Digite Nombre\n\n");
gets (Edictoras.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.Editora);
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");
}