Código
#include <cstdlib> #include <iostream> #include <cstdio> #include <cstring> #define tam 4 //constante struct empleado{ char nom[30]; int edad; float sueldo; char sexo; char mat[2][30]; }; //Prototipos empleado captura(); void imprimir(empleado emp); void ordenar(empleado vec[]); using namespace std; int main() { //vec de struct para trabajar TAM registros empleado vec[tam]; int temp,temp2; for(int i=1;i<tam;i++) vec[i]=captura(); cout<<"\n\nRegistros Desordenados\n"; for(int i=1;i<tam;i++) imprimir(vec[i]); //C O M P L E T A R ..... Linea de codigo que ordena el vector por edad cout<<"\n\nRegistros ordenados por EDAD\n"; for(int i=1;i<tam-1;i++) { for(int j=1;j<tam-i-1;j++) { if (vec[j].edad> vec[j+1].edad) { temp=vec[j].edad; vec[j].edad=vec[j+1].edad; vec[j+1].edad=temp; } } } for(int i=0;i<tam;i++) imprimir(vec[i]); //C O M P L E T A R ..... Linea de codigo que ordena el vector por nombre cout<<"\n\nRegistros Ordenados por NOMBRE\n"; for(int j=1;j<tam;j++) { temp2=strcmp(vec[j].nom,vec[j+1].nom); if(temp2>0) strcpy(vec[0].nom,vec[j].nom); strcpy(vec[j].nom,vec[j+1].nom); strcpy(vec[j+1].nom,vec[0].nom); } for(int i=1;i<tam;i++) imprimir(vec[i]); system("PAUSE"); return EXIT_SUCCESS; } empleado captura() { empleado emp; //Variable local de captura cout<<"\n\nNombre: "; cin.getline(emp.nom,30); cout<<"Edad: "; cin>>emp.edad; cout<<"Sueldo: "; cin>>emp.sueldo; cout<<"Sexo: "; cin>>emp.sexo; fflush(stdin); cout<<"mail 1: "; cin.getline(emp.mat[0],30); cout<<"mail 2: "; fflush(stdin); cin.getline(emp.mat[1],30); return emp; } void imprimir(empleado emp) { cout<<endl<<"Nombre: "<<emp.nom; cout<<endl<<"Edad: "<<emp.edad; cout<<endl<<"Sueldo: "<<emp.sueldo; cout<<endl<<"Sexo: "<<emp.sexo; cout<<endl<<"Mail 1: "<<emp.mat[0]; cout<<endl<<"Mail 2: "<<emp.mat[1]<<endl; return; }
El programa consiste en ordenar el vector por edad y nombre alfabeticamente...
si alguien me puede orientar o ayudarme, se los agradezco mucho.
