Manipulacion De Un Vector En C++
Enviado por fin0 • 25 de Abril de 2013 • 1.620 Palabras (7 Páginas) • 309 Visitas
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
struct usuario
{
int cedula;
int peso;
char nombre[20];
int ano;
}persona[10]/*orden[10]*/;
int ind=0;
int ban=0;
void madurez(int a)
{
int actual=2013;
int edad=actual-a;
if((edad>=0)&&(edad<18))
{
cout<<"\nNINIO!!\n";
}
if((edad>=18)&&(edad<65))
{
cout<<"\nADULTO!!\n";
}
if(edad>65)
{
cout<<"\nANCIANO!!\n";
}
}
void eliminar(int n)
{
int ced,b=0;
cout<<"\n BORRAR REGISTRO \n";
cout<<"\n Ingrese cedula del registro a borrar: ";
cin>>ced;
for(int i=0;i<n;i++)
{
if(persona[i].cedula==ced)
{
for(int j=i;j<n;j++)
{
persona[j].cedula=persona[j+1].cedula;
persona[j].peso=persona[j+1].peso;
persona[j].ano=persona[j+1].ano;
strcpy(persona[j].nombre,persona[j+1].nombre);
}
cout<<"\n REGISTRO BORRADO EXITOSAMENTE \n";
ind=ind-1;
b=1;
}
if(ind==0)
ban=0;
}
if(b==0)
cout<<"\nEL REGISTRO NO FUE ENCONTRADO!!";
}
int existeCedula(int ced)
{
int p=-1;
for(int i=0;i<ind;i++)
{
if(persona[i].cedula==ced)
p=i;
}
return p;
}
void modificar()
{
int ced,op,k;
clrscr();
cout<<"\n******* MODIFICAR REGISTRO ********** \n";
cout<<"\n Ingrese cedula del registro a modificar: ";
cin>>ced;
k=existeCedula(ced);
if(k==-1)
cout<<"REGISTRO NO EXISTE";
else
{
cout<<"\n\nDATOS DE LA PERSONA \n";
cout<<" CEDULA: "<<persona[k].cedula<<" (NO SE PUEDE MODIFICAR)\n" ;
cout<<"\n\n1. NOMBRE: "<<persona[k].nombre<<" \n";
cout<<"2. PESO: "<<persona[k].peso<<" \n";
cout<<"3. ANIO DE NACIMIENTO: "<<persona[k].ano<<" \n";
cout<<"4. TODAS LAS ANTERIORES\n\n";
cout<<"\n Elija opcion a modificar: ";
cin>>op;
while((op<1)||(op>4))
{
cout<<"\nOpcion incorrecta, ingrese nuevamente: ";
cin>>op;
}
if(op==1)
{
cout<<"\nIngrese nuevo nombre: ";
cin>>persona[k].peso;
cout<<"\nNOMBRE MODIFICADO!!";
}
if(op==2)
{
cout<<"\nIngrese nuevo peso: ";
cin>>persona[k].peso;
cout<<"\nPESO MODIFICADO!!";
}
if(op==3)
{
cout<<"\nIngrese nuevo anio de nacimiento: ";
cin>>persona[k].ano;
cout<<"\nANIO DE NACIMIENTO MODIFICADO!!";
}
if(op==4)
{
cout<<"\nIngrese nuevo nombre: ";
cin>>persona[k].nombre;
cout<<"\nIngrese nuevo peso: ";
cin>>persona[k].peso;
cout<<"\nIngrese nuevo anio de nacimiento: ";
cin>>persona[k].ano;
madurez(persona[k].ano);
cout<<"\nDATOS MODIFICADOS!!";
}
}
}
void ordenar(int n)
{
int auxc,auxp,auxa;
char auxnom[20];
for(int i=0;i<(n-1);i++)
{
for(int j=(i+1);j<n;j++)
{
if(persona[j].peso>persona[i].peso)
{
auxp=persona[i].peso;
persona[i].peso=persona[j].peso;
persona[j].peso=auxp;
auxc=persona[i].cedula;
persona[i].cedula=persona[j].cedula;
persona[j].cedula=auxc;
auxa=persona[i].ano;
persona[i].ano=persona[j].ano;
persona[j].ano=auxa;
strcpy(auxnom,persona[i].nombre);
strcpy(persona[i].nombre,persona[j].nombre);
strcpy(persona[j].nombre,auxnom);
...