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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda codigo C++ (Agenda)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda codigo C++ (Agenda)  (Leído 20,079 veces)
L0R0

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: Ayuda codigo C++ (Agenda)
« Respuesta #20 en: 14 Marzo 2011, 16:58 pm »

Gracias a Akai y a mauriciodelos por su ayuda!!!

Bueno hic lo del menu con el boleano y me sigue dando el miso error, no pude solucionarlo con eso..... Por otro lado lo del uso del strcpy me ayudo muchiisimo auqnue no es lo que buscaba para la opcion borrar ya que busco algo que lo borre definitivo, de esta forma borra el contenido pero sigue ocupando ese espacio del arreglo creo q mas bien en vez de borrarlo lo sustituyo el valor por un espacio (Y lo que busko es que lo anule por completo), pero para ordenar me resulto perfecto....
 
Y aki de verdad no entendi mucho de lo que me hablaste pero ya toi investigando sobre eso.......

Aki esta como va el codigo ya modificado:

Código:
#include <cstdlib>
#include <iostream>

using namespace std;


struct Persona {
   char Nombre[65];
   char apellido[65];
   char numcel[65];

}plantilla[100];

int main(int argc, char *argv[])
{
    int opc;
    /// variables opcion nuevo contacto:
    int r;
    int cont=0; /// sirve tambien para opcion 2 y 3.
    /// variable opcion lista de contactos:
    int a;
    int tr;
    //// variable opcion de salida:
    int s;
    //// variables opcion buscador:
    char buscont[65];
    int bus1;
    int bus2;
    int vrf=0;
   
    //// Variables opcion Opciones:
    int op;
    int rep;
    ///variable opciones 1 modificar
     int g;
     int val;
     int va;
     int mod;
     int op1;
     // variables opciones 2 borrar
   int del;
   int delm;
   int h;
   int rsp2;
   int copiar;
   int a1;
   
do
{   
   
   
  system("CLS");     
  cout<< "Selecione Su Opcion:  ";
  cout<< endl;
  cout<< "1. Agregar un nuevo Contacto. ";
  cout<<endl;
  cout<< "2. Ver la lista de Contactos agregados. ";
  cout<<endl;
  cout<< "3. Buscar contacto por nombre. ";
  cout<<endl;
  cout<< "4. Opciones. ";
  cout<<endl;
  cout<< "5. Salir. ";
  cout<<endl;
  cout<< "Opcion: ";
  cin>> opc;
  cout<<endl;
  rep=0;
  system("CLS");
 


 
    switch (opc)
    {
     //Comienza agregar contactos.     
 case 1:

    r=cont++;
   
   
    cout<< "Agregue el nombre del nuevo contacto: ";
    cin>> plantilla[r].Nombre;
    cout<<endl;
   
    cout<< "Agregue el apellido del nuevo contacto: ";
    cin>> plantilla[r].apellido;
    cout<<endl;
     
    cout<< "Agregue el numero movil del nuevo contacto: ";
    cin>> plantilla[r].numcel;
    cout<<endl;
    system("CLS");
   
    break;
    //termina agregar contactos.

   
 case 2:
      //comienza lista de contactos.
       cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
      system("PAUSE");
       system("CLS");
      break;
     
     }
      //termina lista de contactos.
case 3:
     //comienza buscar contactos.
     cout<< "Igrese el nombre que desea buscar: ";
     cin>> buscont;
     cout<<endl;
     
       if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               }
     
     for(bus1=0;bus1<r+1;bus1++)
     {
                               if (strcmp(plantilla[bus1].Nombre,buscont)==0)
   { cout<<"Resulatdo Encontrado: "<<endl;
   cout<<"Nombre: "<<plantilla[bus1].Nombre<<endl;
   cout<<"Apellido: "<<plantilla[bus1].apellido<<endl;
   cout<<"Numero Movil: "<<plantilla[bus1].numcel<<endl;
   vrf=1;
   cout<<endl;
 
   
                               }
                               
                               }
                               if (vrf==0)
                               {
                                          cout<<"Resultado No Encontrado....."<<endl;
                                       
                                         
                                          }
                               
                               
                               
     
     
      system ("PAUSE");
     
     vrf=0;
     
     break;
//termina buscar contactos.
case 4:
     //comienza opciones.
    do
    {
     system ("CLS");
     cout<<"Eliga su nueva opcioc: "<<endl;
     cout<<"1.Modificar contacto."<<endl;
     cout<<"2.Borrar contacto. "<<endl;
     cout<<"3.Menu principal. "<<endl;
     cout<<"Opcion: ";
     cin>>op;
     system ("CLS");
     
     
     switch(op)
     {
     case 1:
          //modificar contactos:
                      //lista contactos:
      cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
                     }
                     //fin lista contactos.
                     //pregunta 1:
                     cout<<"Seleccione el numero del contacto que desea modificar: ";
                     cin>>val;
                     mod=val-1;
                     g=r+1;
                   
                   
                    if (val<=g)
                     {
                               //opcion modificar contacto:
                     do
                     {
                     system ("CLS");
                     cout<<"Contacto:"<<endl;
                     cout<<"1. Nombre: "<<plantilla[mod].Nombre<<endl;
                     cout<<"2. Apellido: "<<plantilla[mod].apellido<<endl;
                     cout<<"3. Numero Movil: "<<plantilla[mod].numcel<<endl;
                     cout<<"4. Menu anterior."<<endl;
                     cout<<"Seleccione la opcion que desea modificar: ";
                     cin>>op1;
                     switch (op1)
                     {
                            case 1:
                                 cout<< "Modifique el nombre del contacto: ";
                                 cin>> plantilla[mod].Nombre;
                                 cout<<endl;
                                 break;
                            case 2:
                                 cout<< "Modifique el apellido del contacto: ";
                                 cin>> plantilla[mod].apellido;
                                 cout<<endl;
                                 break;
                            case 3:
                                 cout<< "Modifique el numero de movil del contacto: ";
                                 cin>> plantilla[mod].numcel;
                                 cout<<endl;
                                 break;
                            case 4:
                                 rep=1;
                                 break;
                            }
                     }while (rep==0);//fin modificar contacto.
                     }else {cout<<"El contacto no existe."<<endl;
                            system ("PAUSE");}
                     rep=0;
                     //fin pregunta 1.
                     
                     
           break;
           //fin modificar contactos.
     case 2:
          //borrar contactos.
          //lista contactos:
           cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
                     }
                     //fin lista contactos.
                     
                     //pregunta 2:
                     cout<<"Seleccione el numero del contacto que desea eliminar: ";
                     cin>>del;
                     delm=del-1;
                     h=r+1;
                     
                     if (del<=h)
                     {
                                system("CLS");
                                cout<< "Estas seguro que deseas borar el contacto selecionado?"<<endl;
                                cout<< "Nombre: "<<plantilla[delm].Nombre<<endl;
                                cout<< "Apellido: "<<plantilla[delm].apellido<<endl;
                                cout<< "Numero Movil: "<<plantilla[delm].numcel<<endl;
                                 cout<< "1.Si                    2.No"<<endl;
                               
                                cin>>rsp2;
                                cout<<endl;
                               
                                if (rsp2==1)
                                {
                               
                                strcpy(plantilla[delm].Nombre,"\0");
                                strcpy(plantilla[delm].apellido,"\0");
                                strcpy(plantilla[delm].numcel,"\0");
                                system ("PAUSE");
                                copiar=delm;
                                for (a1=delm;a1<r+1;a1++)
                                {
                                    strcpy(plantilla[copiar].Nombre,plantilla[copiar+1].Nombre);
                                    strcpy(plantilla[copiar].apellido,plantilla[copiar+1].apellido);
                                    strcpy(plantilla[copiar].numcel,plantilla[copiar+1].numcel);
                                    copiar++;
                                   
                                }
                                r=cont-2;
                               
                                break;
                                } else {break;}
                               
                     }else {cout<<"El contacto no existe."<<endl;
                            system ("PAUSE");
                            }
                     //fin regunta 2.
                     
         
         
           break;
           //fin borrar contactos.
     case 3: 
          rep=1;
           break; 
           
     }
     
     
     
}while (rep==0);

 break;

//termina opciones
           
case 5:
     //comienza salida.
 cout<< "De Verdad Desea Salir?";
cout<< endl;
cout<< "1.Si.                        2.No.";
cout<<endl;
cout<< "opcion: ";
cin>>s;   
if (s==1)
{
         return EXIT_SUCCESS;
         } else {
                break;
         }
         

         
         
         
           }
   
     
     } while (1<opc || 5>opc);
       
    //termina salida.
}


En línea

“Es preferible estar expuesto a los inconvenientes que surgen de un exceso de libertad que a los que provienen de una falta de ella.”-Thomas Jefferson

Twitter: @loro11
L0R0

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: Ayuda codigo C++ (Agenda)
« Respuesta #21 en: 22 Marzo 2011, 14:45 pm »

Bueno ya el codigo esta casi listo, ya esta terminada la opcion de borrado, aunque el programa sigue presentando el mismo problema con el menu .... Pero tengo otra duda, he estado investigando sobre como hacer para que el programa guarde los contactos en un archivo y asi no tener q copiar los contactos cada vez q se corra el programa...... El resultado de mi investigacion han sido mas interrogantes q soluciones, por eso cualquier sugerencia que tengan seria muy buena!!!!

Aki les dejo el codigo de la agenda ya corregido:

Código:
#include <cstdlib>
#include <iostream>

using namespace std;


struct Persona {
   char Nombre[65];
   char apellido[65];
   char numcel[65];

}plantilla[100];

int main(int argc, char *argv[])
{
    int opc;
    /// variables opcion nuevo contacto:
    int r;
    int cont=0; /// sirve tambien para opcion 2 y 3.
    int camb=0;
    int f;
    /// variable opcion lista de contactos:
    int a;
    int tr;
    //// variable opcion de salida:
    int s;
    //// variables opcion buscador:
    char buscont[65];
    int bus1;
    int bus2;
    int vrf=0;
   
    //// Variables opcion Opciones:
    int op;
    int rep;
    ///variable opciones 1 modificar
     int g;
     int val;
     int va;
     int mod;
     int op1;
     // variables opciones 2 borrar
   int del;
   int delm;
   int h;
   int rsp2;
   int copiar;
   int a1;
   
do
{   
   
   
  system("CLS");     
  cout<< "Selecione Su Opcion:  ";
  cout<< endl;
  cout<< "1. Agregar un nuevo Contacto. ";
  cout<<endl;
  cout<< "2. Ver la lista de Contactos agregados. ";
  cout<<endl;
  cout<< "3. Buscar contacto por nombre. ";
  cout<<endl;
  cout<< "4. Opciones. ";
  cout<<endl;
  cout<< "5. Salir. ";
  cout<<endl;
  cout<< "Opcion: ";
  cin>> opc;
  cout<<endl;
  rep=0;
  system("CLS");
 


 
    switch (opc)
    {
     //Comienza agregar contactos.     
 case 1:


    r=cont++;
   
   
    if (camb==1)
    {
                r--;
                f=r+1;
               
          cout<< "Agregue el nombre del nuevo contacto: ";
    cin>> plantilla[f].Nombre;
    cout<<endl;
   
    cout<< "Agregue el apellido del nuevo contacto: ";
    cin>> plantilla[f].apellido;
    cout<<endl;
     
    cout<< "Agregue el numero movil del nuevo contacto: ";
    cin>> plantilla[f].numcel;
    cout<<endl;
    system("CLS");
   
   
                                    strcpy(plantilla[r].Nombre,plantilla[f].Nombre);
                                    strcpy(plantilla[r].apellido,plantilla[f].apellido);
                                    strcpy(plantilla[r].numcel,plantilla[f].numcel);
                                    copiar++;
                                   
                               
   
    break;     
                }
   
   
    cout<< "Agregue el nombre del nuevo contacto: ";
    cin>> plantilla[r].Nombre;
    cout<<endl;
   
    cout<< "Agregue el apellido del nuevo contacto: ";
    cin>> plantilla[r].apellido;
    cout<<endl;
     
    cout<< "Agregue el numero movil del nuevo contacto: ";
    cin>> plantilla[r].numcel;
    cout<<endl;
    system("CLS");
   
    break;
    //termina agregar contactos.

   
 case 2:
      //comienza lista de contactos.
       cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
      system("PAUSE");
       system("CLS");
      break;
     
     }
      //termina lista de contactos.
case 3:
     //comienza buscar contactos.
     cout<< "Igrese el nombre que desea buscar: ";
     cin>> buscont;
     cout<<endl;
     
       if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               }
     
     for(bus1=0;bus1<r+1;bus1++)
     {
                               if (strcmp(plantilla[bus1].Nombre,buscont)==0)
   { cout<<"Resulatdo Encontrado: "<<endl;
   cout<<"Nombre: "<<plantilla[bus1].Nombre<<endl;
   cout<<"Apellido: "<<plantilla[bus1].apellido<<endl;
   cout<<"Numero Movil: "<<plantilla[bus1].numcel<<endl;
   vrf=1;
   cout<<endl;
 
   
                               }
                               
                               }
                               if (vrf==0)
                               {
                                          cout<<"Resultado No Encontrado....."<<endl;
                                       
                                         
                                          }
                               
                               
                               
     
     
      system ("PAUSE");
     
     vrf=0;
     
     break;
//termina buscar contactos.
case 4:
     //comienza opciones.
    do
    {
     system ("CLS");
     cout<<"Eliga su nueva opcioc: "<<endl;
     cout<<"1.Modificar contacto."<<endl;
     cout<<"2.Borrar contacto. "<<endl;
     cout<<"3.Menu principal. "<<endl;
     cout<<"Opcion: ";
     cin>>op;
     system ("CLS");
     
     
     switch(op)
     {
     case 1:
          //modificar contactos:
                      //lista contactos:
      cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
                     }
                     //fin lista contactos.
                     //pregunta 1:
                     cout<<"Seleccione el numero del contacto que desea modificar: ";
                     cin>>val;
                     mod=val-1;
                     g=r+1;
                   
                   
                    if (val<=g)
                     {
                               //opcion modificar contacto:
                     do
                     {
                     system ("CLS");
                     cout<<"Contacto:"<<endl;
                     cout<<"1. Nombre: "<<plantilla[mod].Nombre<<endl;
                     cout<<"2. Apellido: "<<plantilla[mod].apellido<<endl;
                     cout<<"3. Numero Movil: "<<plantilla[mod].numcel<<endl;
                     cout<<"4. Menu anterior."<<endl;
                     cout<<"Seleccione la opcion que desea modificar: ";
                     cin>>op1;
                     switch (op1)
                     {
                            case 1:
                                 cout<< "Modifique el nombre del contacto: ";
                                 cin>> plantilla[mod].Nombre;
                                 cout<<endl;
                                 break;
                            case 2:
                                 cout<< "Modifique el apellido del contacto: ";
                                 cin>> plantilla[mod].apellido;
                                 cout<<endl;
                                 break;
                            case 3:
                                 cout<< "Modifique el numero de movil del contacto: ";
                                 cin>> plantilla[mod].numcel;
                                 cout<<endl;
                                 break;
                            case 4:
                                 rep=1;
                                 break;
                            }
                     }while (rep==0);//fin modificar contacto.
                     }else {cout<<"El contacto no existe."<<endl;
                            system ("PAUSE");}
                     rep=0;
                     //fin pregunta 1.
                     
                     
           break;
           //fin modificar contactos.
     case 2:
          //borrar contactos.
          //lista contactos:
           cout<< "Lista de Contactos: ";
      cout<< endl;
     
      if (cont==0)
      {
               cout<< "Lista de contactos vacia.";
               cout<<endl;
               system ("PAUSE");
               system("CLS");
               break;
               } else {
     
     
      for(a=0;a<r+1;a++)
     
   {
      tr=a;
     
      cout<< tr+1<< ". ";
      cout<< plantilla[a].Nombre;
      cout<<endl;
     }
                     }
                     //fin lista contactos.
                     
                     //pregunta 2:
                     cout<<"Seleccione el numero del contacto que desea eliminar: ";
                     cin>>del;
                     delm=del-1;
                     h=r+1;
                     
                     if (del<=h)
                     {
                                system("CLS");
                                cout<< "Estas seguro que deseas borar el contacto selecionado?"<<endl;
                                cout<< "Nombre: "<<plantilla[delm].Nombre<<endl;
                                cout<< "Apellido: "<<plantilla[delm].apellido<<endl;
                                cout<< "Numero Movil: "<<plantilla[delm].numcel<<endl;
                                 cout<< "1.Si                    2.No"<<endl;
                               
                                cin>>rsp2;
                                cout<<endl;
                               
                                if (rsp2==1)
                                {
                               
                                strcpy(plantilla[delm].Nombre,"\0");
                                strcpy(plantilla[delm].apellido,"\0");
                                strcpy(plantilla[delm].numcel,"\0");
                                system ("PAUSE");
                                copiar=delm;
                                for (a1=delm;a1<r+1;a1++)
                                {
                                    strcpy(plantilla[copiar].Nombre,plantilla[copiar+1].Nombre);
                                    strcpy(plantilla[copiar].apellido,plantilla[copiar+1].apellido);
                                    strcpy(plantilla[copiar].numcel,plantilla[copiar+1].numcel);
                                    copiar++;
                                   
                                }
                                r=cont-2;
                                camb=1;
                               
                                break;
                                } else {break;}
                               
                     }else {cout<<"El contacto no existe."<<endl;
                            system ("PAUSE");
                            }
                     //fin regunta 2.
                     
         
         
           break;
           //fin borrar contactos.
     case 3: 
          rep=1;
           break; 
           
     }
     
     
     
}while (rep==0);

 break;

//termina opciones
           
case 5:
     //comienza salida.
 cout<< "De Verdad Desea Salir?";
cout<< endl;
cout<< "1.Si.                        2.No.";
cout<<endl;
cout<< "opcion: ";
cin>>s;   
if (s==1)
{
         return EXIT_SUCCESS;
         } else {
                break;
         }
         

         
         
         
           }
   
     
     } while (1<opc || 5>opc);
       
    //termina salida.
}


En línea

“Es preferible estar expuesto a los inconvenientes que surgen de un exceso de libertad que a los que provienen de una falta de ella.”-Thomas Jefferson

Twitter: @loro11
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con una agenda
Java
fredycruz 1 3,581 Último mensaje 23 Abril 2010, 22:34 pm
por Debci
ayuda para eliminar un dato de una agenda, en c
Dudas Generales
alexander-pedro 1 2,218 Último mensaje 11 Julio 2013, 23:04 pm
por Caster
ayuda para eliminar un dato de una agenda, en c
Programación C/C++
alexander-pedro 5 9,416 Último mensaje 16 Julio 2013, 11:00 am
por aguml
ayuda a subir foto en mi agenda en php
PHP
jelsir 1 1,693 Último mensaje 7 Octubre 2013, 00:31 am
por GenR_18
ayuda con búsqueda en agenda y panel de ayuda
Java
juan_1 1 1,695 Último mensaje 29 Mayo 2020, 12:18 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines