miércoles, 25 de febrero de 2015

Operaciones básicas para vectores de objetos en c++ (Acceso, Inserción,Tamaño y eliminación) – Free – Email – Criminal – Culture – Auto – Forex

c++ vectores

Cuando empezamos a aprender sobrevectores de objetosenC++una de las principales tareas que debemos realizar es la de aprender susoperaciones básicas, en esta entrada trataremos algunas operaciones deacceso, inserción, tamaño y eliminación en vectores.

Operaciones Básicas:


vector.push_back(objeto)
vector.size()
vector.pop_back()
vector.empty()
vector.front()
vector.back()

vector.push_back(objeto):

Añade un elemento al final del vector, en este caso un objeto el cual pasaremos por parámetro. Sí el vector está vacío el objeto obtendrá la posición 0, sí insertamos un nuevo objeto este se colocará al final del vector en la posición 1 y así sucesivamente...

vector.size():

Nos retornará el tamaño del vector, es decir, la cantidad de elementos que este posee. Siguiendo el ejemplo anterior, sí usamos la funcion size del vector nos retornará el valor 2, puesto que hemos insertado 2 objetos al vector. El tamaño del vector será modificado por operaciones de inserción (push_back) o de eliminación (pop_back) la cual la describiremos más adelante. Sí el vector no tiene elementos entonces retornará el valor 0. Es importante destacar que el máximo indice del vector viene dado por vector.size() - 1, siguiendo nuestro ejemplo el tamaño del vector es 2, pero el mayor indice es 1, esto es importante saberlo al momento de utilizar ciclos for para recorrer los vectores.

vector.pop_back():

Eliminará el último elemento añadido al vector y disminuirá el tamaño del mismo, es obvio que sí el vector se encuentra vacío ( vector.empty() ) el método pop_back no puede ser utilizado.

vector.empty():

Nos retornará un valor booleano (true o false) indicándonos sí el vector se encuentra vacío o no, es decir, síposee o no elementos.

vector.front():

Nos retornará el primer elemento añadido al vector. Sí ingresamos las personas Francisco, luego a Jose y por ultimo a María, este método nos retornará el objeto cuyo atributo nombre es Francisco.

vector.back():

Nos retornará el último elemento añadido al vector. Sí ingresamos las personas Francisco, luego a Jose y por ultimo a María, este método nos retornará el objeto cuyo atributo nombre es María.

Veamos estos métodos programados en C++:


Realicemos un programa en C++ que tenga un menú con las siguientes opciones:

  1. Incluir un objeto en el vector
  2. Saber el tamaño del vector
  3. Borrar el ultimo objeto incluido en el vector
  4. Saber cual fue el primer objeto incluido en el vector
  5. Saber cual fue el ultimo objeto incluido en el vector
  6. Salir

operaciones.cpp

#include iostream
#include vector
#include "Persona.h"

using namespace std;

int main(){
vectorPersona Vec_Persona;
Persona ObjetoPersona;
int opcion;
//Variables a usar en los métodos de inserción
string nombre, cedula;
int edad;
//////////////////////////////////////////////
do{
cout
"\n\n=========OPERACIONES BASICAS CON VECTORES==========\n";
cout
"==============Menu de opciones ====================\n";
cout
"1 Incluir un objeto en el vector \n";
cout
"2 Saber el tamaño del vector \n";
cout
"3 Borrar el ultimo objeto incluido en el vector \n";
cout
"4 Saber cual fue el primer objeto incluido en el vector \n";
cout
"5 Saber cual fue el ultimo objeto incluido en el vector \n";
cout
"6 Salir \n";
cin opcion;
switch(opcion){
case 1:
cout
"Ingrese el nombre de la persona: \n";
cin nombre;
ObjetoPersona.SetNombre(nombre);
cout
"Ingrese la cedula de la persona: \n";
cin cedula;
ObjetoPersona.SetCedula(cedula);
cout
"Ingrese la edad de la persona: \n";
cin edad;
ObjetoPersona.SetEdad(edad);
Vec_Persona.push_back(ObjetoPersona);
break;
case 2:
cout
"El vector contiene: " Vec_Persona.size() " objetos en total \n";
break;
case 3:
if(Vec_Persona.empty()) //La funcion empty nos indica mediante un valor booleano true o false si el vector esta vacio o no
cout
"No se pueden eliminar objetos por que el vector esta vacio \n";
else{
cout
"Se ha eliminado a " Vec_Persona[Vec_Persona.size() - 1].GetNombre() endl;
Vec_Persona.pop_back();
}
break;
case 4:
if(Vec_Persona.empty())
cout
"Ingrese un objeto antes de elegir esta opcion \n";
else
cout
"El primer objeto agregado es: " Vec_Persona.front().GetNombre() endl;
break;
case 5:
if(Vec_Persona.empty())
cout
"Ingrese un objeto antes de elegir esta opcion \n";
else
cout
"El último objeto incluido es: " Vec_Persona.back().GetNombre() endl;
break;
}
}
while(opcion != 6);
}

Explicación:

Creamos un vector de tipo persona (la clase persona utilizada en este tutorial se encuentra al final de la entrada, además del enlace de descarga de la carpeta del proyecto en C++) e instanciamos un objeto del tipo persona, junto a esto declaramos las variables necesarias para darle estado al objeto persona y elegir una opción del menú.

Incluir un objeto en el vector:

Leemos el nombre, cédula y edad de la persona, por cada lectura seteamos el valor en el objeto para darle estado al mismo, una vez hecho esto insertamos el objeto en el vector haciendo uso del metodo push_back, pasando como parámetro el objeto al que le acabamos de dar un estado.

Saber el tamaño del vector:

Mostraremos un mensaje por pantalla el cual nos indicará el tamaño del vector, en este caso la cantidad de objetos de tipo personas que posee el vector.

Borrar el ultimo objeto incluido en el vector:

Eliminará el último objeto de tipo persona incluido en el vector, hacemos una comprobación usando el método empty para saber sí el vector posee o no elementos, puesto que no se podrían eliminar elementos que no existen. Sí existe uno o más objetos de tipo persona nos mostrará el nombre de la persona que eliminó y ejecutará el método pop_back para finalmente eliminarla. Para mostrar el nombre de la persona eliminada debemos acceder al vector mediante la posición "vector.size() - 1", recordando lo anteriormente mencionado, el mayor indice del vector es el tamaño del mismo -1, puesto que las posiciones o índices de los vectores empiezan en 0.
La instrucción para mostrar el nombre seríaVec_Persona[Vec_Persona.size() - 1].GetNombre() donde mostrará el nombre ( GetNombre() ) de la persona que se encuentra en el vector ubicada en la posición Vec_Persona.size() - 1.

Saber cual fue el primer objeto incluido en el vector:

Para esta opción también comprobaremos sí el vector posee o no elementos, es claro que no podemos obtener un primer elemento sí no existe al menos uno. Sí existe uno o más elementos nos mostrará por pantalla el nombre de la primera persona incluida.

Saber cual fue el ultimo objeto incluido en el vector:

Similar a la descrita anteriormente. Sí existe uno o más elementos nos mostrará por pantalla el nombre de la última persona incluida.

Veamos la ejecución del programa:


=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 0 objetos en total

Opción escogida 2: Como el vector aún no posee elementos su tamaño es 0.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
3
No se pueden eliminar objetos por que el vector esta vacio

Opción escogida 3: Como el vector aún no posee elementos no puede ejecutarse la eliminación.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
4
Ingrese un objeto antes de elegir esta opcion

Opción escogida 4:Como el vector aún no posee elementos no podemos determinar aún cual ha sido el primer objeto incluido en el vector.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
1
Ingrese el nombre de la persona:
Fran
Ingrese la cedula de la persona:
1234567
Ingrese la edad de la persona:
21

Opción escogida 1: Para incluir un objeto de tipo persona en el vector ingresaremos los atributos de la persona (Nombre, Cedula y edad) a través del teclado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 1 objetos en total

Opción escogida 2: Como hemos ingresado una persona ahora el tamaño del vector es 1, es decir, posee 1 elemento.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
1
Ingrese el nombre de la persona:
Jose
Ingrese la cedula de la persona:
23445678
Ingrese la edad de la persona:
45

Opción escogida 1: Nuevamente, para incluir un objeto de tipo persona en el vector ingresaremos los atributos de la persona (Nombre, Cedula y edad) a través del teclado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 2 objetos en total

Opción escogida 2: Como hemos ingresado una segunda persona ahora el tamaño del vector es 2, es decir, posee 2 elementos.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
1
Ingrese el nombre de la persona:
Maria
Ingrese la cedula de la persona:
5678901
Ingrese la edad de la persona:
55

Opción escogida 1: Nuevamente, para incluir un objeto de tipo persona en el vector ingresaremos los atributos de la persona (Nombre, Cedula y edad) a través del teclado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 3 objetos en total

Opción escogida 2: Como hemos ingresado una tercera persona ahora el tamaño del vector es 3, es decir, posee 3 elementos.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
4
El primer objeto agregado es: Fran

Opción escogida 4: Como la primera persona ingresada e incluida en el vector posee el nombre Fran este es el valor retornado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
5
El último objeto incluido es: Maria

Opción escogida 5:Como la última persona ingresada e incluida en el vector posee el nombre María este es el valor retornado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
3
Se ha eliminado a Maria

Opción escogida 3: Como la última persona incluida es María, esta es la persona eliminada al escoger la opción de eliminación.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
5
El último objeto incluido es: Jose

Opción escogida 5: Como maría fue eliminada, ahora la última persona incluida en el vector es Jose.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 2 objetos en total

Opción escogida 2: Como María fue eliminada el vector ya no posee 3 elementos sino 2.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
1
Ingrese el nombre de la persona:
Pedro
Ingrese la cedula de la persona:
2567453
Ingrese la edad de la persona:
47

Opción escogida 1: Ingresamos nuevamente una persona, para incluir un objeto de tipo persona en el vector ingresaremos los atributos de la persona (Nombre, Cedula y edad) a través del teclado.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
5
El último objeto incluido es: Pedro

Opción escogida 5: Como la última persona incluida es Pedro, este será el valor a mostrar al escoger la opción 5.

=========OPERACIONES BASICAS CON VECTORES==========
==============Menu de opciones ====================
1 Incluir un objeto en el vector
2 Saber el tamaño del vector
3 Borrar el ultimo objeto incluido en el vector
4 Saber cual fue el primer objeto incluido en el vector
5 Saber cual fue el ultimo objeto incluido en el vector
6 Salir
2
El vector contiene: 3 objetos en total

Opción escogida 2: Como hemos incluido nuevamente una tercera persona, el tamaño del vector es 3.

Por último la clase Persona utilizada:

Persona.h

#ifndef PERSONA_H_
#define PERSONA_H_

#include iostream

using namespace std;

class Persona {
private:
string nombre, cedula;
int edad;
public:
Persona();
void SetNombre(string nom);
string GetNombre();
void SetCedula(string ced);
string GetCedula();
void SetEdad(int eda);
int GetEdad();
};

#endif /* PERSONA_H_ */

Persona.cpp

#include "Persona.h"

Persona::Persona() {
// TODO Auto-generated constructor stub

}

void Persona::SetNombre(string nom) {
nombre = nom;
}

string Persona::GetNombre() {
return nombre;
}

void Persona::SetCedula(string ced) {
cedula = ced;
}

string Persona::GetCedula() {
return cedula;
}

void Persona::SetEdad(int eda) {
edad = eda;
}

int Persona::GetEdad() {
return edad;
}


Enlace de descarga del proyecto en C++:
https://mega.co.nz/#!9Rt3GCoK!1sk...

También te podría interesar:

  1. Elemento menor de un vector en C++ (min_element)
  2. Elemento mayor de un vector en C++ (max_element)
  3. Algoritmo - Factorial de un número en C++
  4. Matriz de la relación predecesor inmediato en c++
  5. Matriz de accesibilidad de un Digrafo en c++
  6. Elevar un número a una potencia en C++
  7. 4 Ejercicios Básicos de Programación Orientada a Objetos en c++


attorney lawyer mesothelioma Casino reviews mesothelioma claim Mobile casino Donate Car to Charity California mesothelioma symptoms DONATING USED CARS TO CHARITY houston mesothelioma attorney Best social media platforms for business Make money online Australia Better Conference Calls mesothelioma personal injury lawyers Best Criminal Lawyers in Arizona Webex Costs Online casino cheap car insurance in virginia firm law mesothelioma DONATE YOUR CAR SACRAMENTO HOME PHONE INTERNET BUNDLE Met Auto Life insurance co Lincoln HARDDRIVE DATA RECOVERY SERVICES google affiliate utah mesothelioma lawyer broward county dui lawyer Cheap domain registration hosting Service business software structured settlements annuities motor insurance quotes car insurance in south dakota WebEx costs Custom Christmas cards Criminal defense lawyer DONATE CAR FOR TAX CREDIT DUI lawyer Mortgage Adviser Casino auto insurance cost by state Criminal lawyer Php programmers Car Insurance Quotes Utah online criminal justice degree california law lemon Structures Annuity Settlement Online Classes la personal injury lawyer Home Phone Internet Bundle Live casino att call conference Motor Replacements Psd to html Hire php developers Tech school Personal Injury Law Firm DONATE OLD CARS TO CHARITY Hire php programmers mesothelioma law firms HOW TO DONATE A CAR IN CALIFORNIA boca raton personal injury attorney mesothelioma attorney Social media platforms for business mortgage adviser Cheap Car Insurance in Virginia Bankruptcy lawyer adverse credit remortgage selling annuity asbestos lawyers VIRTUAL DATA ROOMS Dwi lawyer Donate Cars in MA motorcycle accident lawyer san francisco MORTGAGE ADVISER Mesothelioma Law Firm Php programmers for hire Car Insurance in South Dakota structured settlement blog DONATE YOUR CAR FOR MONEY Hire php developer Mortgage adviser MESOTHELIOMA LAW FIRM mesothelioma attorneys Cheap Auto Insurance in VA Injury Lawyers WEBEX COSTS car insurance quotes colorado Computer science classes online Royalty Free Images Stock CRIMINAL DEFENSE ATTORNEYS FLORIDA STRUCTURED ANNUITY SETTLEMENT NEUSON mesothelioma lawsuits paperport promotional code Seo companies Custom WordPress theme designer Criminal lawyer Miami Best Seo company Html email Business finance group primary pulmonary hypertension mesotheloma Car Insurance Quotes ASBESTOS LAWYERS Life Insurance Co Lincoln online colledges ROYALTY FREE IMAGES STOCK refinance with bad credit New social media platforms yahoo web hosting Email bulk service most profitable internet business semi truck accident lawyers AUTOMOBILE ACCIDENT ATTORNEY bus accident attorney los angeles DAYTON FREIGHT LINES Seo services earthlink business internet car insurance companies Dayton Freight Lines structured settlement annuity companies Business management software Seo company Best social media platforms integrated ehr Proud Italian cook Online Colleges Social media examiner motorcycle lawyer los angeles Car Accident Lawyers Data Recovery Raid auto accident attorney Donating Used Cars to Charity Dayton freight lines orlando criminal attorney WordPress themes for designers Online Christmas cards Italian cooking school DONATING A CAR IN MARYLAND Photo Christmas cards Online Motor Insurance Quotes Dallas mesothelioma attorneys mesothelioma settlements WordPress hosting Psd to WordPress Social media management mesothelioma litigation alabama mesothelioma lawyer Royalty free images stock Social media platforms Massage School Dallas Texas Christmas cards EMAIL BULK SERVICE Annuity Settlements donate old cars to charity Social media strategies WordPress theme designers Adobe illustrator classes better conferencing calls life insurance quotes accident lawyers in los angeles asbestos mesothelioma lawsuit Learning adobe illustrator Social media tools Social media campaigns anti spam exchange server Virtual Data Rooms Donate Car for Tax Credit Donate Your Car for Kids Donating a Car in Maryland Donate Your Car Sacramento How to Donate A Car in California ANNUITY SETTLEMENT Sell Annuity Payment BETTER CONFERENCING CALLS personal injury solicitor Asbestos Lawyers DONATE CARS IN MA Car Insurance Quotes Colorado Nunavut Culture Hard drive Data Recovery Services forensics online course truck accident attorney los angeles donate your car for money Donate a Car in Maryland Car Insurance Quotes MN Cheap Domain Registration Hosting CAR INSURANCE QUOTES UTAH Donate Cars Illinois domain registration yahoo World trade center footage Criminal Defense Attorneys Florida Auto Mobile Insurance Quote mesothelioma lawyer chicago Met auto virtual data rooms Holland Michigan College benchmark lending Donate a car in Maryland offshore accident lawyer Paperport Promotional Code los angeles motorcycle accident lawyer Insurance Companies mesotheliama Gas/Electricity World Trade Center Footage phd in counseling education motor replacements MASSAGE SCHOOL DALLAS TEXAS Psychic for Free asbestos lung cancer personal injury attorney springfield mo car accident lawyer san bernardino Donate Old Cars to Charity Forensics Online Course structured settlement investments Low Credit Line Credit Cards Dallas Mesothelioma Attorneys Donate your Car for Money chicago hair laser removal CHEAP CAR INSURANCE IN VIRGINIA city college in miami Dedicated Hosting Dedicated Server Hosting Personal Injury Lawyers PHD on Counseling Education mesothelioma claims Neuson Automobile Accident Attorney Car Insurance Quotes PA mesothelioma care Email Bulk Service life insurance co lincoln Home phone internet bundle Cheap Car Insurance for Ladies Register Free Domains mesothelioma law firm Futuristic Architecture CAR ACCIDENT LAWYERS Car Donate Online College Course Auto Accident Attorney ONLINE MOTOR INSURANCE QUOTES See more at http//wwwginfostopnet/ dallas mesothelioma attorneys Motor Insurance Quotes best criminal lawyer in arizona Asbestos Lung Cancer Attorney mesothelioma trial attorney PhD in counseling education new york mesothelioma law firm Online Criminal Justice Degree

No hay comentarios:

Publicar un comentario