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#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
main ()
{
struct agenda{
char nombre[100];
char cel[10];
}vector[10];
char opc;
int i,x,y;
i=0;
int bandera,f,z,temp;
bandera=0;
char palabra[100];
char aux1[100];
char aux2[10];
char eliminado;
eliminado='0';
while(opc != 's')
{
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";
cin>>opc;
switch (opc)
{
case 's': break;
case 'a':
cout<<"escribe el nombre completo del contacto \n";
cin.ignore(256, '\n');
cin.getline(vector[i].nombre,100,'\n');
cout<<"escribe el numero de celular del contacto \n";
cin.getline(vector[i].cel,15,'\n');
i++;
break;
for(f=1;f<i;f++) //inicio del bubble sort
{
for (z=i;z>f;z--)
{
temp
=strcmp(vector
[z
].
nombre,vector
[z
+1].
nombre); if(temp>0)
{
strcpy(aux2
,vector
[z
].
nombre); strcpy(vector
[z
].
cel,vector
[z
+1].
cel); strcpy(vector
[z
].
nombre,vector
[z
+1].
nombre); strcpy(vector
[z
].
nombre,aux2
); }
}
}//fin del bubble sort
for (x=0;x<i;x++)
{
if(strcmp(vector
[x
].
nombre,"0") != 0) {
cout<<"el contacto: " <<vector[x].nombre;
cout<<"\n tiene el cel: "<<vector[x].cel<<"\n";
}
}
cout<<"\n pulsa enter para seguir";
getche();
break;
cout<<"escribe el nombre del contacto a buscar: \n";
cin.ignore(256, '\n');
cin.getline(palabra,100,'\n');
for(x=0;x<i;x++)
{
if (strcmp(palabra
,vector
[x
].
nombre)==0) {
cout<<"el contacto: " <<vector[x].nombre;
cout<<"\n tiene el cel: "<<vector[x].cel<<"\n";
cout<<"pulse enter para continuar\n";
getche();
bandera=1;
break;
}
}
if (bandera == 0)
{
cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
getche();
} break;
cout<<"escribe el nombre del contacto a modificar:\n";
cin.ignore(256, '\n');
cin.getline(palabra,100,'\n');
for(x=0;x<i;x++)
{
if (strcmp(palabra
,vector
[x
].
nombre)==0) {
cout<<"escribe el nuevo nombre del contacto\n";
cin.getline(vector[x].nombre,100,'\n');
cout<<"escribe el nuevo numero del contacto\n";
cin.getline(vector[x].cel,15,'\n');
bandera=1;
}
}
if (bandera == 0)
{
cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
getche();
}
break;
cout<<"escribe el nombre del contacto que deseas eliminar:\n";
cin.ignore(256, '\n');
cin.getline(palabra,100,'\n');
for(x=0;x<i;x++)
{
if (strcmp(palabra
,vector
[x
].
nombre)==0) {
cout<<"escribe 0 para eliminarlo\n";
cin.getline(vector[x].nombre,10,'\n');
cout<<"escribe 0 para confirmar la eliminacion\n";
cin.getline(vector[x].cel,10,'\n');
bandera=1;
break;
}
}
if (bandera == 0)
{
cout<<"lo siento el contacto no se encontro \n pulsa enter para continuar";
getche();
}
break;
}
}
}
espero me puedan decir como solucionar eso de antemano muchas gracias.