Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ordenamiento burbuja con cadenas :s

Estas en el tema de ordenamiento burbuja con cadenas :s en el foro de C/C++ en Foros del Web. hola tengo el siguiente código en c++ el cual debe guardar 10 datos de una agenda y organizarlos en orden alfabético antes de mostrarlos en ...
  #1 (permalink)  
Antiguo 27/09/2012, 21:37
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 8 meses
Puntos: 1
ordenamiento burbuja con cadenas :s

hola tengo el siguiente código en c++ el cual debe guardar 10 datos de una agenda y organizarlos en orden alfabético antes de mostrarlos en pantalla:
Código C++:
Ver original
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<string.h>
  4. using namespace std;
  5. main ()
  6. {
  7.      struct agenda{
  8.             char nombre[100];
  9.             char cel[10];
  10.             }vector[10];
  11.             char opc;
  12.             int i,x,y;
  13.             i=0;
  14.             int bandera,f,z,temp;
  15.             bandera=0;
  16.             char palabra[100];
  17.             char aux1[100];
  18.             char aux2[10];
  19.             char eliminado;
  20.             eliminado='0';
  21.      while(opc != 's')
  22.      {
  23.                
  24.                cout<<"puedes: \n a) agregar un contacto \n b) buscar un contacto \n e) editar \n m) mostrar los contactos \n q) borrar a un contacto\n s) salir \n";
  25.                cin>>opc;
  26.                system("cls");
  27.                switch (opc)
  28.                {
  29.                       case 's': break;    
  30.                                        
  31.                       case 'a':
  32.                       cout<<"escribe el nombre completo del contacto \n";
  33.                       cin.ignore(256, '\n');
  34.                       cin.getline(vector[i].nombre,100,'\n');
  35.                       cout<<"escribe el numero de celular del contacto \n";
  36.                       cin.getline(vector[i].cel,15,'\n');
  37.                       i++;
  38.                       system("cls");
  39.                       break;
  40.                      
  41.                       case 'm': system("cls");
  42.                        for(f=1;f<i;f++) //inicio del bubble sort
  43.                       {
  44.                            for (z=i;z>f;z--)
  45.                            {
  46.                                temp=strcmp(vector[z].nombre,vector[z+1].nombre);
  47.                                if(temp>0)
  48.                                {
  49.                                                         strcpy(aux1,vector[z].cel);
  50.                                                         strcpy(aux2,vector[z].nombre);
  51.                                                         strcpy(vector[z].cel,vector[z+1].cel);
  52.                                                         strcpy(vector[z].nombre,vector[z+1].nombre);
  53.                                                         strcpy(vector[z].cel,aux1);
  54.                                                         strcpy(vector[z].nombre,aux2);                      
  55.                                }
  56.                            }
  57.                       }//fin del bubble sort
  58.                       for (x=0;x<i;x++)
  59.                       {
  60.                           if(strcmp(vector[x].nombre,"0") != 0)
  61.                           {
  62.                            cout<<"el contacto: " <<vector[x].nombre;
  63.                            cout<<"\n tiene el cel: "<<vector[x].cel<<"\n";
  64.                           }
  65.                       }
  66.                       cout<<"\n pulsa enter para seguir";
  67.                       getche();
  68.                       system("cls");
  69.                       break;
  70.                      
  71.                       case 'b': system("cls");
  72.                       cout<<"escribe el nombre del contacto a buscar: \n";
  73.                       cin.ignore(256, '\n');
  74.                       cin.getline(palabra,100,'\n');
  75.                       for(x=0;x<i;x++)
  76.                       {
  77.                                       if (strcmp(palabra,vector[x].nombre)==0)
  78.                                       {
  79.                                                 cout<<"el contacto: " <<vector[x].nombre;
  80.                                                 cout<<"\n tiene el cel: "<<vector[x].cel<<"\n";
  81.                                                 cout<<"pulse enter para continuar\n";
  82.                                                 getche();
  83.                                                 system("cls");
  84.                                                 bandera=1;
  85.                                                 break;
  86.                                       }
  87.                       }
  88.                       if (bandera == 0)
  89.                       {
  90.                        cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
  91.                        getche();
  92.                        system("cls");
  93.                       } break;
  94.                      
  95.                       case 'e': system("cls");
  96.                       cout<<"escribe el nombre del contacto a modificar:\n";
  97.                       cin.ignore(256, '\n');
  98.                       cin.getline(palabra,100,'\n');  
  99.                        for(x=0;x<i;x++)
  100.                       {
  101.                                       if (strcmp(palabra,vector[x].nombre)==0)
  102.                                       {
  103.                                                 cout<<"escribe el nuevo nombre del contacto\n";
  104.  
  105.                                                 cin.getline(vector[x].nombre,100,'\n');
  106.                                                 cout<<"escribe el nuevo numero del contacto\n";
  107.                                                 cin.getline(vector[x].cel,15,'\n');
  108.                                                 bandera=1;
  109.                                                 system("cls");
  110.                                       }
  111.                       }
  112.                       if (bandera == 0)
  113.                       {
  114.                        cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
  115.                        getche();
  116.                        system("cls");
  117.                       }      
  118.                       break;
  119.                      
  120.                       case 'q': system("cls");
  121.                       cout<<"escribe el nombre del contacto que deseas eliminar:\n";
  122.                       cin.ignore(256, '\n');
  123.                       cin.getline(palabra,100,'\n');  
  124.                        for(x=0;x<i;x++)
  125.                       {
  126.                                       if (strcmp(palabra,vector[x].nombre)==0)
  127.                                       {
  128.                                                 cout<<"escribe 0  para eliminarlo\n";
  129.                                                 cin.getline(vector[x].nombre,10,'\n');
  130.                                                 cout<<"escribe 0 para confirmar la eliminacion\n";
  131.                                                 cin.getline(vector[x].cel,10,'\n');
  132.                                                 bandera=1;
  133.                                                 system("cls");
  134.                                                 break;
  135.                                       }
  136.                       }
  137.                       if (bandera == 0)
  138.                       {
  139.                        cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
  140.                        getche();
  141.                        system("cls");
  142.                       }
  143.                       break;
  144.                              
  145.                }
  146.                
  147.      }
  148. }
espero me puedan decir como solucionar eso de antemano muchas gracias.

Etiquetas: burbuja, cadenas, int, ordenamiento, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:17.