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