Muchas gracias por la ayuda.
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ú#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;
}