Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Código de C/Visual C - Agenda electrónica en C++

Titulo:local

Agenda electrónica en C++

Autor:Angelo G.Goncalves A. (agoncal@uc.edu.ve)
Lenguaje:C/Visual C
Agenda electrónica realizada en Borland C++5.01

///////////////////////////////////////////////////////////////////// // // // AGENDA ELECTRONICA --> Desarrollado por ^KriZ3d^ <-- // // // // Ejemplo para mostrar la implementacion de Archivos en C++ // // // ///////////////////////////////////////////////////////////////////// #include<stdio.h> #include<conio.h> #include<iostream.h> #define bool int #define true 1 #define false 0 FILE *archivo, *temporal; void AGREGAR_PERSONA() { int cedula, registro; char apellido[20], nombre[20], telefono[15], resp; bool no_encontrado; do{ if((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ clrscr(); no_encontrado = true; cout<<"\n Introduzca la Cedula: "; cin>> registro; while ((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s", &cedula, &apellido, &nombre, &telefono); if(registro == cedula) { no_encontrado = false; } } fclose(archivo); if(no_encontrado) { archivo = fopen("Directorio.ang","a"); cedula = registro; cout<<"\n Introduzca el Apellido: "; cin>> apellido; cout<<" Introduzca el Nombre: "; cin>> nombre; cout<<" Introduzca el Telefono: "; cin>> telefono; fprintf(archivo,"%d %s %s %s\n", cedula, apellido, nombre, telefono); // %f para los float, %d para los int. }else{ cout<<"\n Esta Persona ya esta Registrada en la Agenda!"; } cout<<"\n\n Desea Registrar Otra Persona? S/N: "; resp = getch(); fclose(archivo); } }while((resp == 's') || (resp == 'S')); } //Fin del procedimiento AGREGAR_PERSONA void CONSULTAR_REGISTRO() { int registro, cedula; // Se declaran enteros porque si se dejan como string luego no se puede hacer la comparacion normal sino por comparacion de cadenas. char apellido[20], nombre[20], telefono[15], resp; bool no_encontrado; do{ if((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ clrscr(); no_encontrado = true; cout<<"\n Introduzca la Cedula a Consultar: "; cin>>registro; while((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s", &cedula, &apellido, &nombre, &telefono); if(registro == cedula) { no_encontrado = false; } } if(no_encontrado) { cout<<"\n No Existe un Registro con esa Cedula!\n\n"; }else{ cout<<"\n Registro Encontrado!\n\n"; cout<<" Cedula: " <<cedula <<"\n"; cout<<" Apellido: " <<apellido <<"\n"; cout<<" Nombre: " <<nombre <<"\n"; cout<<" Telefono: " <<telefono <<"\n\n"; } cout<<" Desea Realizar Otra Consulta? S/N: "; resp = getch(); fclose(archivo); } }while((resp == 's') || (resp == 'S')); } //Fin del procedimiento CONSULTAR_REGISTRO void ELIMINAR_PERSONA() { int registro, cedula; char resp, apellido[20], nombre[20], telefono[15], eliminar; bool no_encontrado; do{ if ((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ clrscr(); no_encontrado = true; cout<<"\n Introduzca la Cedula del Registro a Eliminar: "; cin>>registro; while((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s", &cedula, &apellido, &nombre, &telefono); if(registro == cedula) { no_encontrado = false; } } if(no_encontrado) { cout<<"\n No Existe un Registro con esa Cedula!\n\n"; }else{ cout<<"\n Registro Encontrado!\n\n"; cout<<" Cedula: " <<cedula <<"\n"; cout<<" Apellido: " <<apellido <<"\n"; cout<<" Nombre: " <<nombre <<"\n"; cout<<" Telefono: " <<telefono <<"\n\n"; fclose(archivo); cout<<" Desea Eliminar este Registro? S/N: "; eliminar = getch(); } if ((eliminar == 's') || (eliminar == 'S')) { if((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ temporal = fopen("temporal.ang","w"); while(!feof(archivo)) { fscanf(archivo,"%d %s %s %s\n", &cedula, &apellido, &nombre, &telefono); if (registro != cedula) { fprintf(temporal,"%d %s %s %s\n", cedula, apellido, nombre, telefono); } } fclose(temporal); fclose(archivo); if((temporal = fopen("temporal.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo, no se Pudo Eliminar!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ archivo = fopen("Directorio.ang","w"); while(!feof(temporal)) { fscanf(temporal,"%d %s %s %s\n", &cedula, &apellido, &nombre, &telefono); fprintf(archivo,"%d %s %s %s\n", cedula, apellido, nombre, telefono); } fclose(temporal); fclose(archivo); cout<<"\n\n Se ha Eliminado el Registro!"; //Vaciamos el Archivo temporal temporal = fopen("temporal.ang","w"); fclose(temporal); } } } cout<<"\n\n Desea eliminar Otro Registro? S/N: "; resp = getch(); } }while((resp == 's') || (resp == 'S')); } //Fin del procedimiento ELIMINAR_REGISTRO void VACIAR_AGENDA() { char resp; cout<<"\n\n Esta Seguro que Desea Vaciar la Agenda? S/N: "; cin>> resp; if ((resp == 's') || (resp == 'S')) { if((archivo = fopen("Directorio.ang","w")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ fclose(archivo); cout<<"\n Se ha Vaciado la Agenda Satisfactoriamente!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); } } } //Fin del procedimiento VACIAR_AGENDA void DESPLEGAR_AGENDA() { char cedula[8], apellido[20], nombre[20], telefono[15]; if((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n No se Encuentra el Archivo!"; cout<<"\n\n Pulse una tecla para continuar..."; getch(); }else{ clrscr(); cout<<" CEDULA APELLIDO NOMBRE TELEFONO\n\n"; while(!feof(archivo)) { fscanf(archivo,"%s %s %s %s\n", &cedula, &apellido, &nombre, &telefono); cout<<" "<<cedula<<" "<<apellido<<" "<<nombre<<" "<<telefono<<"\n"; } fclose(archivo); cout<<"\n\n Pulse una tecla para continuar..."; getch(); } } //Fin del procedimiento DESPLEGAR_AGENDA void ACERCA_DE() { clrscr(); cout<<"\n AGENDA ELECTRONICA --> Desarrollado por ^KriZ3d^ <-- (Angelo Goncalves) \n\n"; cout<<" Ejemplo para mostrar la implementacion de Archivos en C++\n\n\n"; cout<<" La entrada de datos de la cedula no esta validada y se declaro como entero \n"; cout<<" para poder hacer las comparaciones entre cedulas (hay otras formas de\n"; cout<<" hacerlo, como la comparacion de strings etc, pero en fin este ejemplo es \n"; cout<<" dedicado a los Archivos.\n Cualquier duda o comentario escribeme a agoncal@uc.edu.ve o krized@hotmail.com\n"; cout<<"\n\n Pulse una Tecla para Volver al Menu Principal..."; getch(); } //Fin del procedimiento ACERCA_DE void MENU() { cout<<"\n AGENDA ELECTRONICA --> Desarrollado por ^KriZ3d^ <--\n"; cout<<" Implementacion de Archivos en C++\n\n"; cout<<" 1- Agregar una Persona a la Agenda.\n"; cout<<" 2- Consultar un Registro en la Agenda.\n"; cout<<" 3- Desplegar todos los Datos de la Agenda.\n"; cout<<" 4- Eliminar un Registro de la Agenda.\n"; cout<<" 5- Vaciar la Agenda.\n\n"; cout<<" A- Acerca de...\n"; cout<<" S- Salir.\n"; } // Fin del procedimiento MENU void main (void) { char op; bool salir = false; do{ clrscr(); if ((archivo = fopen("Directorio.ang","r")) == NULL) { cout<<"\n Al parecer es la Primera Vez que inicias el Programa,\n"; cout<<" o el Archivo fue Borrado. Presiona una tecla para Crearlo..."; getch(); archivo = fopen("Directorio.ang","w"); fclose(archivo); cout<<"\n\n El Archivo se ha Creado con Exito!!!\n\n"; MENU(); cout<<"\n Seleccione una Opcion: "; op = getch(); }else{ MENU(); cout<<"\n Seleccione una Opcion: "; op = getch(); } switch (op) { case '1': AGREGAR_PERSONA(); break; case '2': CONSULTAR_REGISTRO(); break; case '3': DESPLEGAR_AGENDA(); break; case '4': ELIMINAR_PERSONA(); break; case '5': VACIAR_AGENDA(); break; case 'a': case 'A': ACERCA_DE(); break; case 's': case 'S': salir = true; break; } }while(salir == false); } // Fin del main (void)