alguien me ayudaría a comentarlo
Código C++:
Ver original
#include<fstream> #include<iostream> #include<stdlib.h> #include<conio.h> #include<string.h> using namespace std; int reg = 0, indice = 0, i; char opcion; bool banderita = true, bandera = true; struct Biblioteca{ char nombre[30], editorial[30], autor[20]; int id, edicion; }B[5]; void Seleccion(){ do{ } int Buscar(){ int auxcarnet; bool band = true; cout << "Por favor ingrese el numero del registro que intenta modificar: \n"; cin >> auxcarnet; for(i = 0; i <= reg-1; i++) { if(auxcarnet == B[i].id) { cout << "\n"; cout << "ID del Libro: " << B[i].id << endl; cout << "Nombre del Libro: " << B[i].nombre << endl; cout << "Autor del Libro: " << B[i].autor << endl; cout << "Edicion del Libro: " << B[i].edicion << endl; cout << "Editorial del Libro: " << B[i].editorial << endl; cout << "\n\n\n"; band = false; } } if(band == true) cout << "ID no existente! \a"; } void eliminar(){ indice = Buscar(); cout << "Seguro que desea borrar este registro s/n\n"; Seleccion(); if(opcion == 'S'){ for(int j = indice; j <= reg-1; j++) B[j] = B[j+1]; reg--; cout << "Registro borrado" << endl; } void modificar() { int auxcarnet; bool band = true; cout << "Por favor ingrese el numero del registro que intenta modificar: \n"; cin >> auxcarnet; for(i = 0; i <= reg-1; i++) { if(auxcarnet == B[i].id) { cout << "\n"; cout << "ID del Libro: " << B[i].id << endl; cout << "Nombre del Libro: " << B[i].nombre << endl; cout << "Autor del Libro: " << B[i].autor << endl; cout << "Edicion del Libro: " << B[i].edicion << endl; cout << "Editorial del Libro: " << B[i].editorial << endl; cout << "\n\n\n"; band = false; cout << "\tQue desea Modificar:\n"; cout << "\tA.Nombre\n"; cout << "\tB.Autor\n"; cout << "\tC.Edicion\n"; cout << "\tD.Editorial\n"; cout << "\tE.Salir\n"; cout << "Ingresa la Opcion:\n"; do { do { } } while (opcion < 'A' || opcion > 'E'); switch(opcion) { case 'A': cout << "\nPor Favor ingrese el nuevo Nombre del Libro:\n"; cin >> B[i].nombre; break; case 'B': cout << "\nPor Favor ingrese el nuevo Autor del Libro:\n"; cin >> B[i].autor; break; case 'C': cout << "\nPor Favor ingrese la nueva Edicion del Libro:\n"; cin >> B[i].edicion; break; case 'D': cout << "\nPor Favor Ingrese la nueva Editorial del Libro:\n"; cin >> B[i].editorial; break; case 'E': break; } } } if(band == true) cout << "ID del Libro No Admitido, Intentelo otra vez o verifique si hay errores! \a"; } void grabar() { fstream archivo; archivo.open("DatosBiblioteca.txt", ios::out); for(i = 0; i < reg; i++) { if(i == reg-1) { archivo << B[i].id << " " << B[i].nombre << " " << B[i].autor << " " << B[i].edicion << " " << B[i].editorial << " "; } else{ archivo << B[i].id << " " << B[i].nombre << " " << B[i].autor << " " << B[i].edicion << " " << B[i].editorial << " " << endl; } } archivo.close(); } void registrar() { do{ if(reg == 5) { cout << "Solo se pueden almacenar 5 registros!\a\n\n"; opcion = 'n'; break; } cout << "Ingrese ID del Libro: \n"; cin >> B[reg].id; for(i = 0; i<=reg-1;i++) { if(B[reg].id == B[i].id) { cout << "Este ID ya existe por favor ingrese otro\n"; banderita = false; } } if(banderita == false) { banderita = true; continue; } cout << "Ingrese el nombre del Libro: \n"; cin >> B[reg].nombre; cout << "Ingrese el Autor del Libro: \n"; cin >> B[reg].autor; cout << "Ingrese la Edicion del Libro: \n"; cin >> B[reg].edicion; cout << "Ingrese la Editorial del Libro: \n"; cin >> B[reg].editorial; cout << "\n"; cout << "Desea almacenar otro registro s/n \n"; reg++; do { } } while(opcion != 'N'); } void leer() { fstream archivo; archivo.open("DatosBiblioteca.txt", ios::in); if(archivo.fail()) { fstream archivo; archivo.open("DatosBiblioteca.txt", ios::out); archivo.close(); cout << "Archivo no existente! Programa creara una para usted\a"; } else { while(!archivo.eof()) { archivo >> B[reg].id >> B[reg].nombre >> B[reg].autor >> B[reg].edicion >> B[reg].editorial; if(archivo == NULL) break; reg++; } } archivo.close(); } void mostrar() { for(i = 0; i <= reg-1; i++) { cout << "ID del Libro: " << B[i].id << endl; cout << "Nombre del Libro: " << B[i].nombre << endl; cout << "Autor del Libro: " << B[i].autor << endl; cout << "Edicion del Libro: " << B[i].edicion << endl; cout << "Editorial del Libro: " << B[i].editorial << endl; cout << "\n"; } } int main(){ leer(); do{ cout<< "Elija una opcion:\n\n"; cout<< "A.Registrar\n"; cout<< "B.Mostrar\n"; cout<< "C.Modificar\n"; cout<< "D.Eliminar\n"; cout<< "E.Salir\n\n"; do{ Seleccion(); }while (opcion < 'A' || opcion > 'E'); switch(opcion){ case 'A': registrar(); break; case 'B': mostrar(); break; case 'C': modificar(); break; case 'D': eliminar(); break; case 'E': break; } grabar(); }while(opcion != 'E'); return 0; }