Título: ayuda para agregar opcion "editar" en agenda electronica Publicado por: equijadar1500 en 17 Mayo 2016, 18:09 pm ayuda para agregar la opción de editar en la agenda electrónica
verán tengo la mayor parte del código solo me falta incluir la opción de "editar registros" #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 numreg, registro; char apellido[20], nombre[20], telefono[15], telm[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 el numero de registro: "; cin>> registro; while ((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s %s", &numreg, &apellido, &nombre, &telefono, &telm); if(registro == numreg) { no_encontrado = false; } } fclose(archivo); if(no_encontrado) { archivo = fopen("Directorio.ang","a"); numreg = registro; cout<<"\n Introduzca el Apellido: "; cin>> apellido; cout<<" Introduzca el Nombre: "; cin>> nombre; cout<<" Introduzca el Telefono de casa: "; cin>> telefono; cout<<" Introduzca el telefono celular:"; cin>> telm; fprintf(archivo,"%d %s %s %s %s\n", numreg, apellido, nombre, telefono, telm); // %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, numreg; // 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], telm[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 el numero de registro a Consultar: "; cin>>registro; while((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s %s", &numreg, &apellido, &nombre, &telefono, telm); if(registro == numreg) { no_encontrado = false; } } if(no_encontrado) { cout<<"\n No Existe un Registro con ese numero de registro!\n\n"; }else{ cout<<"\n Registro Encontrado!\n\n"; cout<<" Numero de registro: " <<numreg <<"\n"; cout<<" Apellido: " <<apellido <<"\n"; cout<<" Nombre: " <<nombre <<"\n"; cout<<" Telefono de casa: " <<telefono <<"\n"; cout<<" Telefono movil:"<< telm<<"\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, numreg; char resp, apellido[20], nombre[20], telefono[15], telm[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 el numero de registro del contacto a Eliminar: "; cin>>registro; while((!feof(archivo)) && (no_encontrado)) { fscanf(archivo,"%d %s %s %s %s", &numreg, &apellido, &nombre, &telefono, &telm); if(registro == numreg) { no_encontrado = false; } } if(no_encontrado) { cout<<"\n No Existe un Registro con ese numero!\n\n"; }else{ cout<<"\n Registro Encontrado!\n\n"; cout<<" Numero de registro: " <<numreg <<"\n"; cout<<" Apellido: " <<apellido <<"\n"; cout<<" Nombre: " <<nombre <<"\n"; cout<<" Telefono de casa: " <<telefono <<"\n"; cout<<" Telefono movil: " << telm<<"\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 %s\n", &numreg, &apellido, &nombre, &telefono, &telm); if (registro != numreg) { fprintf(temporal,"%d %s %s %s %s\n", numreg, apellido, nombre, telefono, telm); } } 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 %s\n", &numreg, &apellido, &nombre, &telefono, &telm); fprintf(archivo,"%d %s %s %s %s\n", numreg, apellido, nombre, telefono, telm); } 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 numreg[8], apellido[20], nombre[20], telefono[15], telm[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<<" NUMERO DE REGISTRO APELLIDO NOMBRE TELEFONO DE CASA TELEFONO MOVIL \n\n"; while(!feof(archivo)) { fscanf(archivo,"%s %s %s %s %s\n", &numreg, &apellido, &nombre, &telefono, &telm); cout<<" "<<numreg<<" "<<apellido<<" "<<nombre<<" "<<telefono<<" "<<telm<<" \n"; } fclose(archivo); cout<<"\n\n Pulse una tecla para continuar..."; getch(); } } //Fin del procedimiento DESPLEGAR_AGENDA void MENU() { cout<<"Agenda electronica \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"; 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 's': case 'S': salir = true; break; } }while(salir == false); getchar (); } // Fin del main (void) |