elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ayuda para agregar opcion "editar" en agenda electronica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda para agregar opcion "editar" en agenda electronica  (Leído 4,095 veces)
equijadar1500

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda para agregar opcion "editar" en agenda electronica
« 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)


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines