62. C++ || Estructuras arrays



Asƭ como bien podemos crear un array de cualquier tipo de dato estƔndar C++, tambiƩn podemos crear un array de estructuras, despuƩs de todo, recordemos que una estructura lo que hace es crear un nuevo tipo de dato.

Los arrays de estructuras son idóneos para registrar un archivo completo de empleados, un archivo de inventario o cualquier otro dato que tome el formato de la estructura.

No hay mucho que explicar a la hora de declarar un array de estructuras, este proceso se hace de la misma manera que con cualquier otro tipo de dato estƔndar C++. Con esto, somos capaces de hacer programas mƔs potentes que solventen las necesidades del programador, porque mientras que un array proporcionan una forma de almacenar diversos valores de un mismo tipo, los arrays de estructuras a su vez, proporcionan una forma de almacenar diversos valores de diversos tipos de datos, estƔndar o definidos por el usuario. Por ejemplo:

Teniendo la siguiente estructura:

struct Persona{
 char nombre[20], apellido[20];
 int edad;
};

PudiƩsemos declarar un array de esa estructura en cualquier parte del programa, por ejemplo:

Persona clientes[3];

Ahora tenemos un array que contiene tres elementos, y cada elemento, contiene dentro de sĆ­ todos los datos con los cuales ha sido declarada la estructura: Nombre, apellido y edad.

De esta forma podemos trabajar de la misma manera que lo hemos estado haciendo, la diferencia es que debemos especificar por medio del ƭndice del array quƩ elemento queremos manipular.

#include <iostream>
using namespace std;

struct Persona{
 char nombre[20], apellido[20];
 int edad;
};

int main(){
 Persona cliente[3];
 
 for(int i = 0; i < 3; i++){
  cout << "Nombre cliente " << i+1 <<  endl;
  cin.getline(cliente[i].nombre,20);
  cout << "Apellido cliente " << i+1 << endl;
  cin.getline(cliente[i].apellido,20);
  cout << "Edad cliente " << i+1 << endl;
  cin >> cliente[i].edad;
  cin.ignore();
 }
 return 0;
}

Noten que como es de esperar, el Ć­ndice del array empieza en 0 por ser ese el primer elemento.

También pudiésemos inicializar un array de estructuras al momento de su declaración, encerrando los valor dentro de llaves {}.

Persona cliente[3] = {"Steven","Rojas",19,
                "Sofia","Monteverde",30,
                   "Adriana","Graterol",18};


Arrays como miembros


Esto no puede sorprender a nadie, ya lo hemos estado usando, por ejemplo, en la estructura Persona podemos notar que hay un array como miembro y ese es el caso de las variables char nombre y apellido. Por lo general los arrays como miembros son usado para estos tipos de datos, pero tambiƩn se pueden utilizar con cualquier tipo de dato al declarar la estructura.

No hay comentarios