Pasa que el programa me guarda las cosas, pero al momento de volver a iniciar el programa las borra, la verdad no sé que estoy haciendo mal, llevo menos de 2 meses aprendiendo este lenguaje..
Aqui está la base del programa
Código C++:
Ver original
// Seccion Declaracion de Variables GLOBALES struct T_clientes{ int clave; char direccion[30]; char e_mail[30]; int telefono; char nombre[30]; }; T_clientes datos_clientes[500]; int contador_clientes = 0; struct T_catalogo { char director[30]; char nombre_peli[100]; char genero_peli[30]; }; T_catalogo datos_peliculas[500]; int contador_peliculas; struct T_prestamos { char fecha_prestamo[30]; int cliente_prestamo; char titulo_prestamo[100]; char devolucion[30]; }; T_prestamos prestamo_pelicula[500]; int contador_prestamo; struct T_ventas { char fecha_venta[30]; char cliente_venta[30]; char alta_venta[30]; }; T_ventas venta_pelicula[500]; int contador_venta; // sECCION DE LIBRERIAS #include <iostream> #include <fstream> using namespace std; #include "L_clientes.h" #include "L_catalogo.h" #include "L_prestamos.h" #include "L_ventas.h" // seccion de inicio void main(){ // Seccion Declaracion de Variables int opcion = 0; int i = 0; // abrir un archivo Clientecitos.txt para entrada ifstream archent("Clientecitos.txt"); if (!archent) cout << "NO SE PUEDE ABRIR EL ARCHIVO PARA ENTRADA. "; else { contador_clientes = 0; while (archent >> datos_clientes[contador_clientes].clave){ archent.getline(datos_clientes[contador_clientes].nombre, 30); archent.getline(datos_clientes[contador_clientes].direccion, 30); archent.getline(datos_clientes[contador_clientes].e_mail, 30); cout << datos_clientes[contador_clientes].telefono; contador_clientes++; } }; archent.close(); // Adquisicion de Datos do{ cout << " BIENVENIDO!" << endl << endl; cout << " *** MENU PRINCIPAL ***" << endl; cout << " 1.- Clientes " << endl; cout << " 2.- Catalogo de Peliculas " << endl; cout << " 3.- Prestamo de Peliculas " << endl; cout << " 4.- Ventas " << endl; cout << " 5.- Salir del Sistema " << endl; cin >> opcion; switch (opcion){ case 1: { clientes(); break; } case 2: { peliculas(); break; } case 3: {prestamos(); break; } case 4: { ventas(); break; } }; // Fin del switch } while (opcion != 5); ofstream archsal; archsal.open("Clientecitos.txt"); if (!archsal) cout << "\n No se puede abrir el archivo para salida"; else { for (int i = 0; i < contador_clientes; i++){ archsal << datos_clientes[i].clave << endl; archsal << datos_clientes[i].nombre << endl; archsal << datos_clientes[i].direccion << endl; archsal << datos_clientes[i].e_mail << endl; archsal << datos_clientes[i].telefono << endl; } archsal.close(); }; }; // fin del programa
y aqui está el modulo de clientes, de donde quiero sacar la info
Código C++:
Ver original
void registro_clientes(){ cout << "****REGISTRO DE CLIENTES****" << endl << endl; cout << "Clave del cliente: "; cin >> datos_clientes[contador_clientes].clave; cout << "Nombre del cliente: "; fflush stdin; cin.getline(datos_clientes[contador_clientes].nombre, 30); cout << "Direccion del cliente: "; fflush stdin; cin.getline(datos_clientes[contador_clientes].direccion, 30); cout << "Correo electronico del cliente: "; fflush stdin; cin.getline(datos_clientes[contador_clientes].e_mail, 30); cout << "Telefono del cliente: "; cin >> datos_clientes[contador_clientes].telefono; contador_clientes++; }; // Fin de Registro Clientes void busca_clientes(){ int busca; cout << " *** BUSQUEDA DE CLIENTES ***"; cout << "INGRESE LA CLAVE DEL CLIENTE: " << endl; cin >> busca; for (int i = 0; i < contador_clientes; i++){ if (busca == datos_clientes[i].clave){ cout << "Clave del cliente: " << datos_clientes[i].clave << endl; cout << "Nombre del cliente: " << datos_clientes[i].nombre << endl; cout << "Direccion del cliente: " << datos_clientes[i].direccion << endl; cout << "Correo electronico del cliente: " << datos_clientes[i].e_mail << endl; cout << "Telefono del cliente: " << datos_clientes[i].telefono << endl; }; // Cierre del IF }; // cierre del for }; // Fin de Busqueda de clientes void modif_clientes(){ int opcion, busca; cout << " Dame la cuenta a buscar: "; cin >> busca; for (int i = 0; i < contador_clientes; i++){ if (busca == datos_clientes[i].clave){ cout << " *** MENU DE MODIFICACIÓN DE CLIENTES ***" << endl << endl; cout << " Que deseas modificar? " << endl; cout << " 1.- Direccion " << endl; cout << " 2.- Telefono " << endl; cout << " 3.- Correo Electronico " << endl; cout << " 4.- salir" << endl; cin >> opcion; switch (opcion){ case 1: {cout << " Direccion Anterior: " << datos_clientes[i].direccion << " Nueva Direccion: "; fflush stdin; cin.getline(datos_clientes[i].direccion, 30); break; } case 2: {cout << " Telefono Anterior " << datos_clientes[i].telefono << " Nuevo Telefono: "; cin >> datos_clientes[i].telefono; break; } case 3: {cout << " Correo Electronico Anterior: " << datos_clientes[i].e_mail << " Nuevo Correo Electronico: "; }; }//fin del if }//fin del for }; // Fin de modificacion void baja_clientes(){ int i = 0, j = 0, busca_baja; cout << endl << "***MENU DE BAJA DE CLIENTES ***" << endl; cout << "Ingresa la clave del cliente: " << endl; cin >> busca_baja; for (i = 0; i < contador_clientes; i++){ if (busca_baja == datos_clientes[i].clave){ for (j = i; j < contador_clientes; j++){ datos_clientes[j] = datos_clientes[j++]; }; contador_clientes--; cout << endl << "EL REGISTRO SE HA ELIMINADO"; };//FIN DE IF }; //FIN DE FOR }; // FIN BAJA DE CLIENTES void clientes(){ int opcion; cout << " estoy en el modulo de clientes" << endl; do{ cout << " ****** MENU CLIENTES *****" << endl; cout << " 1.- Registro de Clientes " << endl; cout << " 2.- Modificacion de Clientes " << endl; cout << " 3.- Baja de Clientes " << endl; cout << " 4.- Busqueda de Clientes " << endl; cout << " 5.- Salir del Menu de Clientes " << endl; cin >> opcion; switch (opcion){ case 1: { registro_clientes(); break; } case 2: { modif_clientes(); break; } case 3: { baja_clientes(); break; } case 4: {busca_clientes(); break; } }; // Fin del switch } while (opcion != 5); }; // Modulo de Clientes
mil Gracias!!