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++


forensics online course Donate car to charity California verizon sip Service business software truck accident attorney los angeles Online Motor Insurance Quotes mesothelioma lawyer massachusetts Cheap auto insurance in VA best structured settlement companies Live casino Social media tools california motorcycle accident lawyer Casino reviews Make money online Australia accident attorneys orange county Online casino houston mesothelioma attorney structured settlement buyers mesothelioma rates Data Recovery Raid structure settlements CHEAP CAR INSURANCE IN VIRGINIA Online Classes Hire php developer Bankruptcy lawyer car accident lawyer in san diego VIRTUAL DATA ROOMS business voice mail service mesothelioma law firm Donating Used Cars to Charity Hire php developers mesothelioma lawsuits Casino Motor Replacements Cheap Auto Insurance in VA Mobile casino Gas/Electricity semi truck accident lawyers criminal defense attorneys florida Futuristic Architecture Social media platforms mesothelioma drug DUI lawyer windows phone for business Hire php programmers Cheap car insurance in Virginia Auto Mobile Shipping Quote PhD in counseling education personal injury attorney torrance los angeles motorcycle accident lawyer caraccidentlawyer Social media examiner DONATING A CAR IN MARYLAND Html email ANNUITY SETTLEMENT New social media platforms DALLAS MESOTHELIOMA ATTORNEYS Online Christmas cards mesothelioma attorney directory personal injury law firm online motor insurance quotes google affiliate mesothelioma claims Dwi lawyer Donate Old Cars to Charity Php programmers business voip solutions mesothelioma attorney Criminal lawyer Health Records Personal Health Record Massage School Dallas Texas Donate Your Car for Kids personal injury solicitor LOW CREDIT LINE CREDIT CARDS Dallas mesothelioma attorneys car insurance quotes colorado Criminal defense lawyer attorney lawyer mesothelioma Php programmers for hire benchmark lending Seo services register free domains all about mesothelioma Computer science classes online Seo companies best accident attorneys Best social media platforms for business buy gift card Best Seo company PAPERPORT PROMOTIONAL CODE Best social media platforms CAR INSURANCE QUOTES UTAH Sell Annuity Payment Business finance group holland michigan college Social media platforms for business buying structured settlements Custom WordPress theme designer federal criminal defense attorney integrated ehr Personal Injury Lawyers mesothelioma ct Motor Insurance Quotes Business management software CHEAP AUTO INSURANCE IN VA boca raton personal injury attorney Donate Cars in MA Seo company Paperport Promotional Code ROYALTY FREE IMAGES STOCK Custom Christmas cards Photo Christmas cards buy structured settlements Cheap Domain Registration Hosting how to donate a car in california Donate a Car in Maryland WordPress themes for designers data recovery raid WordPress hosting Annuity Settlements mesothelioma attorneys WordPress theme designers Psd to WordPress Criminal defense attorneys Florida Social media management baltimore mesothelioma attorneys Asbestos Lawyers seattle mesothelioma lawyer Online colledges webex costs Dallas Mesothelioma Attorneys Tech school Car Insurance Companies mesothelioma information personal injury firm arizona auto accident attorney home phone internet bundle Donate Cars Illinois Mortgage adviser Cheap car insurance for ladies google adsense asbestos lawyers Mesothelioma Law Firm Forensics Online Course Dayton Freight Lines Donate your car for kids refinance with bad credit low credit line credit cards Christmas cards CAR INSURANCE QUOTES PA Proud Italian cook MORTGAGE ADVISER Car Insurance Quotes MN Psd to html Italian cooking school Donate Car To Charity CALIFORNIA CRIMINAL DEFENSE ATTORNEYS FLORIDA peritoneal mesothelioma CHEAP DOMAIN REGISTRATION HOSTING Donating a Car in Maryland MET AUTO Adobe illustrator classes mesotheloma Social media strategies Learning adobe illustrator Best Criminal Lawyers in Arizona Life Insurance Co Lincoln Social media campaigns Donate Car to Charity California domains yahoo georgia truck accident lawyer Donate Car for Tax Credit structured settlement purchasers Royalty Free Images Stock Donate Your Car Sacramento Donating a car in Maryland How to Donate A Car in California world trade center footage Donate old cars to charity Structures Annuity Settlement Holland Michigan College Car Insurance Quotes Colorado Nunavut Culture Hard drive Data Recovery Services virtual data rooms Life insurance co Lincoln houston motorcycle accident lawyer HOW TO DONATE A CAR IN CALIFORNIA mesothelioma lawyer chicago DAYTON FREIGHT LINES Automobile Accident Attorney Hard drive data recovery services Criminal Defense Attorneys Florida Car Insurance Quotes Utah auto accident lawyer san francisco ONLINECLASSES Met Auto Online Colleges mesothelioma litigation World Trade Center Footage mesothelioma lawyer asbestos cancer lawsuit diagnosed with mesothelioma Psychic for Free Low Credit Line Credit Cards Royalty free images stock Futuristic architecture Donate your Car for Money Virtual Data Rooms Car Donate Home Phone Internet Bundle auto insurance cost by state Register Free Domains Business VOIP Solutions mesothelioma lawyer texas mesothelioma trial attorney PHD on Counseling Education Neuson Car Insurance Quotes PA compare small business phone systems online criminal justice degree NUNAVUT CULTURE primary pulmonary hypertension Car Insurance in South Dakota Email Bulk Service Webex Costs Cheap Car Insurance for Ladies Cheap Car Insurance in Virginia broward county dui lawyer Online classes Better Conference Calls HOME PHONE INTERNET BUNDLE utah mesothelioma lawyer Personal Injury Law Firm Mortgage Adviser buyers of structured settlements orlando criminal attorney CAR ACCIDENT LAWYERS Online College Course tucson car accident attorney auto accident attorney best criminal lawyer in arizona Auto Accident Attorney auto insurance yuba city ca BETTER CONFERENCING CALLS Car Accident Lawyers Criminal lawyer Miami DONATE CARS IN MA Car Insurance Quotes Asbestos Lung Cancer compare life assurance

No hay comentarios:

Publicar un comentario