Está en la página 1de 4

FACULTAD NACIONAL DE INGENIERIA

INGENIERIA DE SISTEMAS E INGENIERIA INFORMATICA


METODOLOGIA DE LA PROGRAMACION II
LABORATORIO DE PROGRAMACION – SIS 2210
LABORATORIO NRO 9.

Tema: Vectores de Objetos


Logros a alcanzar:
 Comprende el uso de arreglos de objetos
 Implementa programas en C++ que incluyen el uso de arreglos de objetos
 Indaga los métodos de la clase string como alternativa al uso de vectores de
caracteres (cadenas en C)
Fundamento Teórico:
Arreglo de Objetos:

Un arreglo de objetos se define como el contenido total de todos los objetos creados para la
ejecución del programa, cada una de estos ubicados en una posición del arreglo.
En el arreglo de objetos el constructor que utilizaremos es sin argumentos
Ejemplo:

La función básica de un arreglo es almacenar en una variable más de un valor de un mismo


tipo de dato, por ejemplo la siguiente declaración int num[5] permite almacenar 5 número
enteros en la variable num.

En las clases el concepto de arreglos es el mismo, con la diferencia de que ahora se


almacenarán objetos de una clase.
Los objetos se pueden estructurar como un array. Los objetos son variables y tienen las
mismas capacidades y atributos que cualquier tipo de variables, por tanto es posible
disponer objetos en un array.

Sintaxis

La sintaxis es exactamente igual a la utilizada para declarar o acceder a un array.

Cuando se crea un array de objetos, éstos se inicializan llamando al constructor sin


argumentos. Por consiguiente, siempre que se prevea organizar los objetos en un array, la
clase debe tener un constructor que pueda llamarse sin parámetros.

<nombre de clase><nombre del arreglo>[<número de elementos>];

<nombre de clase><nombre del arreglo>[<número de elementos>]={elementos};

Ejemplo: estudiante aest[5];

Inicialización: nombre del arreglo[indice].función(valores);

Actividad de Clase:

Ejemplo 1.- Hacer un programa que permita introducir los datos referentes a notas de dos
estudiantes en un vector de objetos, obtener el promedio de cada uno e imprimir esos datos

#include <iostream>

using namespace std;

class estudiante
{
long int cedula;
string ci;
string nombre;
int edad;
double notas [4];
public:
estudiante();
void ingreso();
void imprimir();
void promedio();
double validar(double nota);
void validar_edad(int d);
};

estudiante::estudiante()
{
cedula=0;
nombre=" ";
edad=0;
for(int i=0; i<4; i++)
notas[i]=0;
}

void estudiante::validar_edad(int d)
{
while(d<5 || d>25)
{

cout<<"\n Ingrese nuevamente la edad del alumno: ";


cin>>d;
edad=d;
}
}

double estudiante::validar(double nota)


{
while(nota<0 || nota>100)
{
cout<<"\n Ingrese nuevamente la nota: ";
cin>>nota;
}
return (nota);
}

void estudiante::ingreso()
{
cout <<"Ingrese la cedula de identidad: ";
cin>> ci;
cout <<"\n Ingrese el Nombre: ";
cin>> nombre;
cout <<"\n Ingrese la edad: ";

cin>> edad;
validar_edad(edad);
for (int i=0;i<3;i++)
{
cout<<"\n Ingrese la nota "<< i+1<<": ";
cin>>notas [i] ;
notas[i]=validar(notas[i]);
}
}

void estudiante:: imprimir()


{
cout<<"\n Cedula de identidad: "<<ci;
cout<<"\n Nombre: "<< nombre;
cout<<"\n Edad: "<<edad;
for (int i=0; i<=3;i++)
{
if(i<=2)
cout<<"\n Nota "<<i+1<<": "<<notas [i];
else
cout<<"\n Promedio: "<<notas[i];
}
}

void estudiante :: promedio()


{
notas[3]=(notas[0]+notas[1]+notas[2])/3;
}

int main()
{
estudiante a[3];
char op;
do
{
cout<<"\n\t Programa para el ingreso de datos de alumnos.\n\n";
for (int i=0; i<2; i++)
{
cout<<"\n\ndatos del alumno: "<<i+1<<endl;
a[i].ingreso();
a[i].promedio();
}

for (int j=0; j<2; j++)


{
cout<<"\n\nDatos del alumno: "<<j+1<<endl;
a[j].imprimir();
}

cout<<"\n\n desea ejecutar nuevamente presione 'a'.\n Caso contrario cualquier tecla.";
cin>>op;
}while(op=='a' || op=='A');

cout<<"\n \t\t\t FIN DEL PROGRAMA";


}

También podría gustarte