• Sábado 14 de Diciembre de 2024, 13:59

Autor Tema:  Consultas en un archivo de texto  (Leído 2753 veces)

elpis

  • Nuevo Miembro
  • *
  • Mensajes: 9
  • Nacionalidad: 00
    • Ver Perfil
Consultas en un archivo de texto
« en: Domingo 21 de Agosto de 2011, 05:18 »
0
Tengo que hacer un archivo INVENTARIO, donde se tiene una lista de libros con codigo, titulo, autor, precio, y cantidad

Tengo la funcion para los ingresos al archivo; me tranque en la consulta, esta debe ser por titulo o autor.

¿Cómo se deberia hacer? (hice unos intentos pero la idea no la tengo clara,y no funciona bien)

Código: [Seleccionar]
#include<stdio.h>
#include<conio.h>
typedef struct libro{
char titulo[15];
char autor[15];
int codigo;
float precio;
int cantidad;
};
void ingresar(FILE*);
void consulta(FILE*);
void menu();
void ingresar(FILE*archi){
libro book;
clrscr();
char *dato1;
int dato2;
float dato3;
char op;
archi =fopen("INVENTARIO","a+");
if(archi==NULL)
printf("\n\n\t\tNo se creo el archivo");
else{
do{
clrscr();
printf("\n\n\t\tIngrese Codigo\t");
scanf("%i\t",&dato2);
flushall();
fprintf(archi,"%i\t",dato1);
printf("\n\n\t\tIngrese Titulo\t");
gets(dato1);
fprintf(archi,"%s\t",dato1);
printf("\n\n\t\tIngrese Autor\t");
gets(dato1);
fprintf(archi,"%s\t",dato1);
printf("\n\n\t\tIngrese precio\t");
scanf("%f",&dato3);
flushall();
fprintf(archi,"%f\t",dato3);
printf("\n\n\t\tIngrese Cantidad\t");
scanf("%i",&dato1);
flushall();
fprintf(archi,"%i\n",dato1);
getch();
printf("Ingreso nuevo S/N\t");
scanf("%c",&op);
flushall();
}while (op=='s');
}
getch();
fclose(archi);
}
void consulta(FILE *arch){
int op;
libro libro;
char *buscar;
clrscr();
fopen("INVENTARIO","r");
printf("\n\n\t/////////////Consultas///////////////");
printf("\n\n\t1 - Por Autor");
printf("\n\n\t2 - Por Titulo\t");
scanf("%i",&op);
if((op>=1)&&(op<=2))
switch(op){
case 1:
printf("\n\n\tIngrese Nombre de autor\t");
scanf("%s",buscar);
if(arch==NULL){
printf("\n\n\n\tError de apertura");
getch();
}else{

if(!feof(arch)){
fscanf(arch,"%i%s%s%f%i",&libro.codigo,libro.titulo,libro.autor,&libro.precio,&libro.cantidad);
printf("\n\t\tSe encontraron coincidencias:");
printf("\n\n\t\t%i\t%s\t%s\t%f\t%i",libro.codigo,libro.titulo,libro.autor,libro.precio,libro.cantidad);

}

}
break;
case 2:
break;
}
getch();
}
void menu(){
printf("\n\n\t/////////////////MENU///////////////////");
printf("\n\n\t1 - Ingresar libros a la lista");
printf("\n\t2 - Consultas de libros");
printf("\n\t3 - Salir");
printf("\n\n\t Ingrese opcion\t");
}
void main(){
FILE *file;
int op;
do{
clrscr();
menu();
scanf("%i",&op);
flushall();
if((op>=1)&&(op<=2))
switch(op){
case 1:
ingresar(file);
break;
case 2:
consulta(file);
break;
}
}while(op!=3);
  }

elgula_86

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re:Consultas en un archivo de texto
« Respuesta #1 en: Jueves 13 de Octubre de 2011, 23:08 »
0
http://miperfil.mx/cbuilder6/

date una vuelta por ahi y mira los tutoriales, aclaro no es spam..