Aun no comprendo bien la estructura de c++ y actualmente tomo cursos, solo queria que me dieran una pequeña ayuda, para ver en que estoy fallando y poder mejorar.
Bueno, mi programa se supone debe hacer lo siguiente:
Realizar un programa que contenga un menu:
1.Registrar libros
2.Consulta
3.Salir
en el numero 1 se debera poder registrar libros
(materia, autor, editorial y precio )
regresar al menu presionando cualquier tecla
en el 2 consultar los libros que se registraron por materia
y el valor de ellos de la materia escogida
y 3 salir
Y bueno, esto es lo que llevo, pero esta muy mal :(
Código:
Agradeceria mucho si alguien me pudiera ayudar, para ver en que estoy mal, o que me falta, muchas gracias de antemano :) #include <stdio.h> #include <stdlib.h> struct Datos{ int iD,precio; char nombre[30];}; int main(void) { int opcion;struct Datos libro; FILE *f; do{ system("cls"); printf("MENU.\n"); printf("1 - Registrar libros.\n"); printf("2 - Consultar libros.\n"); printf("3 - Salir.\n"); printf("Ingrese una opcion[1-3]: "); scanf("%d",&opcion); system("cls"); switch(opcion){ case 1: printf("Ingrese la materia: "); scanf("%d",&libro.iD); printf("\nIngrese autor: "); fflush(stdin); gets(libro.nombre); printf("\nIngrese el precio: "); scanf("%d",&libro.precio); f=fopen("C:\\alums.dat","a"); fwrite(&libro,sizeof(Datos),1,f); fclose(f); printf("\nDatos agregados correctamente.\n"); system("pause"); break; case 2: if((f=fopen("C:\\libro.dat","r"))==NULL) printf("Error.\nNo hay datos agregados.\n"); else{ while(fread(&libro,sizeof(Datos),1,f) !=NULL){ printf("Materia: %d",libro.iD); printf("\nAutor: %s",libro.nombre); printf("\nPrecio:%d\n--------------\n",libro.precio);} fclose(f);} system("pause"); break;} }while(opcion!=3); return 0;}