Академический Документы
Профессиональный Документы
Культура Документы
Ao 2014
Entregado: 13/6/14
Fecha Presentacin: 21/6/14
Presentacin: Grupal e impresa
ESTRUCTURAS
DECLARACION DE ESTRUCTURAS
As como los arrays son organizaciones secuenciales de variables simples, de un mismo tipo,
resulta necesario en mltiples aplicaciones, agrupar variables de distintos tipos en una sola
entidad. Este sera el caso, si quisiramos generar la variable " legajo personal ", y ella
quisiramos incluir variables del tipo: strings para el nombre y apellido, int para la edad y
nmero de cdigo postal, float para el sueldo, y as siguiendo. Existe en C++ en tipo de
variable compuesta, para manejar sta situacin tpica de las Bases de Datos, llamada
ESTRUCTURA. No hay limitaciones en el tipo ni cantidad de variables que pueda contener una
estructura, con una sla salvedad: una estructura no puede contenerse a s misma como
miembro.
Para usarlas, se deben seguir dos pasos. Primero hay que declarar la estructura en s, esto es,
darle un nombre y describir a sus miembros, para finalmente declarar a una ms variables,
del tipo de la estructura declarada, veamos un ejemplo:
// Declaracin de la estructura y sus miembros.
struct legajo
{
int
edad ;
char nombre[50] ;
float sueldo ;
} ;
// Declaracin de dos variables del tipo legajo.
legajo vendedor , programador;
Las variables del tipo de una estructura, pueden ser inicializadas en su definicin, as por
ejemplo se podra escribir:
struct legajo
{
int
edad ;
char nombre[50] ;
float sueldo ;
} vendedor = {40, "Juan Jos", 1200.50}; programador = {23, "Carlos Manuel", 2000.0};
Es muy importante recalcar que, dos estructuras, aunque sean del mismo tipo, no pueden ser
asignadas comparadas la una con la otra, en forma directa, sino asignando comparndolas
miembro a miembro. Esto se muestra claramente en las lneas siguientes, basadas en las
declaraciones anteriores:
finrecta = iniciorecta ;
if( finrecta >= iniciorecta );
// ERROR.
// ERROR.
Las estructuras pueden anidarse, es decir que una ms de ellas pueden ser miembro de otra.
Las estructuras tambin pueden ser pasadas a las funciones como parmetros, y ser
retornadas por stas, como resultados.
ASIGNACION DE VALORES POR TECLADO
Tambin pueden ser inicializadas en tiempo de ejecucin:
// Declaracin de la estructura y sus miembros.
struct legajo
{
int
edad ;
// Edad del empleado.
char nombre[50] ;
// Nombre del empleado de hasta 50 caracteres.
float sueldo ;
// Sueldo mensual del empleado.
}
2/3
ARRAYS DE ESTRUCTURAS
Podemos agrupar estructuras ordenadamente como elementos de un array. Veamos un
ejemplo:
// Declaracin de la estructura y sus miembros.
struct item
{
char
material[50] ; // Descripcin del tem de hasta 50 caracteres.
int
existencia ;
// Existencia tems en depsito.
float
costo_unitario ; // Costo de compra por unidad del tem.
};
A continuacin definiremos un array de 100 elementos llamado stock, donde cada uno de ellos ser una
estructura del tipo tem, y les asignaremos valores:
#include<iostream>
using namespace std;
int main()
// Funcin Principal del programa.
{
item stock[100] ;
// Vector stock de tipo tem.
int n;
// Tamao del vector ingresado por el usuario.
int i;
// Indice del vector.
cout<<Ingrese la cantidad de tems (Max.100):;
cin>>n;
for(i=1; i<=n; i++)
{
cout<<Material del tem <<i<< : ;
cin>>stock[i].material;
cout<<Existencia del tem <<i<< : ;
cin>>stock[i].existencia;
cout<<Costo unitario del tem <<i<< : ;
cin>>stock[i].costo_unitario;
}
3/3