Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - lucasxxviii

#1
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>

typedef struct
{
    char marca[50];
    char modelo[50];
    float precio;
    int cantidad;
}impresora;


void imprimir_menu (){


printf("\n\t ...MENU....\n");
printf("1) Agregar Informacion de una impresora: \n");
printf("2) Mostrar el contenidp del archivo\n");
printf("3) Busqueda de impresoras por marca y precio \n");
printf("4) Salir del programa\n");
printf("\n\tOpcion: ");


}

void agregar_impresora(){
impresora imp;

FILE * miarchivo;
char*  nombrearchivo = "Problema2.txt";

miarchivo= fopen (nombrearchivo, "a");  // agrega al final

if(miarchivo==NULL) return -1 ;


printf("\n\n\t....Informacion de impresora....: \n\n ");
fflush(stdin);

printf("Ingrese la Marca: ");
scanf("%[^\n]",&imp.marca);
fprintf(miarchivo,"Marca: %s\n",imp.marca);

fflush(stdin);
printf("Ingrese el Modelo: ");
scanf("%[^\n]",&imp.modelo);
fprintf(miarchivo,"Modelo: %s\n",imp.modelo);

fflush(stdin);
printf("Ingrese el Precio: ");
scanf("%f",&imp.precio);
fprintf(miarchivo,"Precio:$ %2.f\n",imp.precio);

fflush(stdin);
printf("Ingrese la Cantidad: ");
scanf("%d",&imp.cantidad);
fprintf(miarchivo,"Cantidad:%d\n\n\n",imp.cantidad);




fclose(miarchivo);
}

/*void mostrar_impresora(){

FILE* miarchivo;
char* nombrearchivo="Problema2.txt" ;
char nombretemp[50];
int termino=0;

miarchivo = fopen(nombrearchivo,"r");
if (miarchivo==NULL) return -1;

printf("Lista de Impresoras: \n");

termino=fscanf(miarchivo, " %[^\n]",&nombretemp);
// fcanf devuelve EOF si esta al final de archivo

while(termino!=EOF){

printf("%s\n",nombretemp);

termino=fscanf(miarchivo, " %[^\n]",&nombretemp);
}


fclose(miarchivo);


}*/

void mostrar_impresora(){
FILE *miarchivo;
int c;

char direccion[]= "Problema2.txt";
miarchivo = fopen(direccion,"r"); //r = read - leer

if(miarchivo == NULL){
printf("Error al tratar de leer el archivo");
return -1;
}

while((c=fgetc(miarchivo))!=EOF){
if(c == '\n'){
printf("\n");
}
else{
putchar(c);
}

}


fclose(miarchivo);


}




void buscar_impresora(){

}




int main(){

int salir=0;
int opcion;




while(salir==0){
opcion=-1;

imprimir_menu();

fflush(stdin);
scanf("%d",&opcion);

if(opcion==4) salir=1;
if(opcion==1) agregar_impresora();
if(opcion==2) mostrar_impresora();
if(opcion==3) buscar_impresora();




}






system("pause");

return 0;
}





No puedo hacer la funcion de buscar necesito que realice esta condicion:

* busqueda de impresora por marca y precio,
(en esta opcion se debe ingresar una marca y dos numeros reales, luego mostrar todos
los datos de la impresoras en donde exista coincidencia con la marca y los precios deben estar comprendidos entre los dos numeros ingresados.

desde ya muchas gracias al que me pueda ayudar.