/* * Ejemplo Manejo de Archivos * Autor: Ricardo Segundo Bazan * Materia: Programacion */ #include #include struct dvd { int id; char nombre[20]; }; int menu(); //Es void insertar(FILE *,struct dvd); int leer(FILE *,struct dvd); int exportar(FILE *,struct dvd); int main() { int opcion; struct dvd juego; FILE *archi; opcion=menu(); while (opcion != 4) { switch (opcion) { case 1: insertar(archi,juego); break; case 2: leer(archi,juego); break; case 3: exportar(archi,juego); break; default: printf("\nOpcion Incorrecta\n\n"); system("pause"); break; } opcion=menu(); } return 0; } int menu() { int aux; system("cls"); printf("\n"); printf("Catalogo de Juegos\n"); printf("******************\n\n"); printf("1_Ingresar Nuevo Juego\n"); printf("2_Leer registro\n"); printf("3_Exportar a Texto\n"); printf("4_Salir\n"); printf("\n\nEliga opcion:"); scanf("%d",&aux); return aux; } void insertar(FILE *archi, struct dvd juego) { archi = fopen("c:\\datos.bin", "a+b"); system("cls"); printf("\nIngrese identificador:"); scanf("%d",&juego.id); getchar(); //captura enter para poder operar printf("Ingrese el nombre del juego:"); gets(juego.nombre); fwrite(&juego, sizeof(juego), 1, archi); fclose(archi); } int leer(FILE *archi,struct dvd juego) { system("cls"); if ((archi = fopen("c:\\datos.bin", "rb"))== NULL) { getchar(); printf("imposible abrir el archivo o el archivo no existe\n\n\n"); printf("Presione una tecla para continuar"); getchar(); return 1; }//Uso la funcion getchar para capturar enter y esperar una tecla //para continuar else { fread(&juego, sizeof(juego), 1, archi); while (feof(archi)==0) { printf("\nId:%d",juego.id); printf("\nNombre:"); puts(juego.nombre); printf("\n.....................\n"); fread(&juego, sizeof(juego), 1, archi); } system("pause"); fclose(archi); return 0; } } int exportar (FILE *archi,struct dvd juego) { FILE *aux; if ((archi = fopen("c:\\datos.bin", "rb"))== NULL) { printf("imposible abrir el archivo o el archivo no existe\n\n\n"); system("pause"); return 1; }//Uso la funcion getchar para capturar enter y esperar una tecla //para continuar else { aux=fopen("c:\\JUEGOS.TXT","w"); fread(&juego, sizeof(juego), 1, archi); while (feof(archi)==0) { fprintf(aux,"Id:%d",juego.id); fprintf(aux,"\nNombre:%s",juego.nombre); fprintf(aux,"\n.....................\n"); fread(&juego, sizeof(juego), 1, archi); } printf("\n\nCreado JUEGOS.TXT en raiz de Disco C\n\n"); system("pause"); fclose(archi); return 0; } }