1. ESTRUCTURAS STRUCT
LOS ARRAYS SON ESTRUCTURAS DE DATOS QUE
CONTIENEN UN NUMERO DETERMINADO DE
ELEMENTOS (SU TAMAÑO) Y TODOS LOS
ELEMENTOS HAN DE SER DEL MISMO TIPO DE
DATOS.
ESTA CARACTERISTICA SUPONE UNA GRAN
LIMITACION CUANDO SE REQUIEREN GRUPOS DE
ELEMENTOS CON TIPOS DIFERENTES DE DATOS
CADA UNO.
LA SOLUCION A ESTE TIPO DE PROBLEMAS ES
U
USAR ESTRCUTURAS (STRUC)
2. ESTRUCTURAS STRUCT
UNA ESTRUCTURA ES UNA colección DE UNO O MAS
ELEMENTOS DENOMINADOS MIEMBROS, CADA UNO DE LOS
CUALES PUEDE SER DE UN TIPO DE DATO DIFERENTE.
LOS COMPONENTES INDIVIDUALES DE UNA ESTRUCTURA
SE LLAMAN MIEMBROS, CADA MIEMBRO (ELEMENTO) DE
UNA ESTRUCTURA PUEDE CONTENER DATOS DE UN TIPO
DIFERENTE DE OTROS MIEMBROS.
POR EJEMPLO, SE PUEDE UTILIZAR UNA ESTRUCTURA
PARA ALMACENAR DIFERENTES TIPOS DE INFORMACION
SOBRE UNA PERSONA, TAL COMO NOMBRE, ESTADO CIVIL,
EDAD Y FECHA DE NACIMIENTO. CADA UNO DE ESTOS
ELEMENTOS SE DENOMINAN NOMBRE DEL MIEMBRO
3. ESTRUCTURAS STRUCT
UNA ESTRUCTURA PUEDE CONTENER CUALQUIER
NUMERO DE MIEMBROS, CADA UNO DE LOS CUALES TIENE
UN NOMBRE UNICO, DENOMINADO NOMBRE DEL MIEMBRO.
EN LA DEFINICIÓN DEL TIPO DE ESTRUCTURA, SE
ESPECIFICAN LOS ELEMENTOS QUE LA COMPONEN ASÍ
COMO SUS TIPOS. CADA ELEMENTO ES LLAMADO
MIEMBRO (SIMILAR A UN CAMPO DE UN REGISTRO).
Struct tipo estrcutura
{
Declaracion de los miembros
};
tipo_estructura
4. ESTRUCTURAS STRUCT
Después de definir un tipo estructura, se puede declarar una o
más variables de ese tipo de la siguiente forma: struct
tipo_estructura [variables];
5. #include <iostream>
#include "stdio.h"
#include "conio2.h"
using namespace std;
// Una estructura simple para ver claramente su uso
struct ejemplo {
char nombre[35];
char telefono[10];
}ejemplo[1];
// Función principal
main()
{
clrscr();
// Bucle para facilitar la operación de rellenar cada una de las estructuras del array
for(int j=0;j<=1;j++) {
cout << " Introduce el nombre de la " << j << " persona "<< endl;
gets (ejemplo[j].nombre);
cout << "Introduce el numero de telefono de la " << j << " persona " << endl;
gets (ejemplo[j].telefono);
}
// Mostramos de forma clara todos los datos obtenidos , asi se puede ver la facilidad
// con la que se accede a cada uno de los campos de un array de estructuras
cout << " Resultados del programa --------------------------------------" << endl;
cout << " Datos de la persona numero 0: " << endl;
cout << " Nombre :" ;puts(ejemplo[0].nombre);
cout << " Telefono :"; puts(ejemplo[0].telefono);
cout << " Datos de la persona numero 1 :" << endl;
cout << " Nombre :"; puts(ejemplo[1].nombre);
cout << " Telefono :"; puts(ejemplo[1].telefono);
getch();
return 0;
}
6. #include <iostream>
#include <string.h>
#include "stdio.h"
#include"conio2.h"
using namespace std;
main ()
{
clrscr();
struct cdColeccion
{
char titulo[25];
char artista[20];
int numCanciones;
float precio;
char FechaDeCompra[9];
}cd1;
//Inicializa los miembros aquí
strcpy(cd1.titulo, "Yesterday");
strcpy(cd1.artista, "The Beatles");
cd1.numCanciones = 12;
cd1.precio = 11.95;
strcpy(cd1.FechaDeCompra, "02/13/92");
//Imprime los datos en la pantalla
cout<<"Información sobre CD: nn";
cout<<"Título:"<<cd1.titulo<<"n";
cout<<"Autor:"<<cd1.artista<<"n";
cout<<"Número de discos:"<<cd1.numCanciones<<"n";
cout<<"Precio:"<<cd1.precio<<"n";
cout<<"Fecha de compra:"<<cd1.FechaDeCompra<<"n";
getch();
return 0;
}
7. Estructuras Anidadas. El siguiente ejemplo muestra una estructura
anidada. Las estructuras que hemos visto han sido muy sencillas aunque
útiles. Es posible definir estructuras conteniendo docenas y aún cientos ó
miles de elementos pero sería ventajoso para el programador no definir
todos los elementos en una pasada sino utilizar una definición de estructura
jerárquica.