e Structur As

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 29

ESTRUCTURAS

DEFINICIÓN

Una estructura es un conjunto de variables que se citan y


manejan con el mismo nombre y que permite además la
utilización individual de sus elementos.
DEFINICION DE ESTRUCTURA

struct NombreEstructura
{
TipoVariable1 NombreVariable1 ;
TipoVariable2 NombreVariable2 ;
TipoVariable3 NombreVariable3 ;
TipoVariableN NombreVariableN ;
} NombVarEstru1, NombVarEstru2, NombVarEstruN ;
EJEMPLO

Supongamos que se desea almacenar los datos de una colección de


discos compactos (CD) de música. Estos datos pueden ser:
• Título.
• Artista.
• Número de canciones.
• Precio.
• Fecha de compra.
EJEMPLO

• Título Array de caracteres de tamaño 35


• Artista Array de caracteres de tamaño 25.
• Número de canciones Entero.
• Precio Coma flotante.
• Fecha de compra Array de caracteres de tamaño 8.
EJEMPLO DE ESTRUCTURA

struct coleccion_CD
{
char titulo[30] ;
char artista[25] ;
int num_canciones;
float precio;
char fecha_compra [ 8 ] ;
};
Definición de variables de
estructuras (FORMA 1)
struct coleccion_CD
{
char titulo[30] ;
char artista[25] ;
int num_canciones;
float precio;
char fecha_compra [ 8 ] ;
} cdl, cd2, cd3;
Definición de variables de
estructuras (FORMA 2)
struct coleccion_CD
{
char titulo[30] ;
char artista[25] ;
int num_canciones;
float precio;
char fecha_compra [ 8 ] ;
};
2 struct colecciones_CD cd1, cd2, cd3;
CREAR LA SIGUIENTE ESTRUCTURA

Considérese un programa que gestione libros y procese los


siguientes datos: título del libro, nombre del autor, editorial y
año de publicación definida en una estructura info_libro
CREAR LA SIGUIENTE ESTRUCTURA

Se nos plantea una aplicación de control de los participantes en


una carrera popular, cada participante se representa por los
datos: nombre, edad, sexo, categoría, club y tiempo. El registro
se representa con la estructura corredor :
Uso de estructuras en
asignaciones

Como una estructura es un tipo de dato similar a un int o un


char, se puede asignar una estructura a otra.
• libro3= libro1;
• libro4 = libro1;
• libro5 = libro1;
Inicialización de una declaración
de estructuras
struct info_libro
{
char titulo[60l ;
char auto[30];
char editorial [30] ;
int anyo;
} libro1= {"Maravilla del saber ",”Lucas Garcia", "McGraw-
Hill", 1999};
Inicialización de una declaración
de estructuras

struct corredor vl = {
"Salvador Rapido" ,29 ,'V' ,“senior “ ,
”Independiente”, 0.0 };
El tamaño de una estructura
El operador sizeof se aplica sobre un tipo de datos, o bien sobre
una variable
#include <stdio.h>
struct persona
void main( )
{
{
char nombre [30 struct
I; persona mar;
int edad; printf ("Sizeof( persona): %d \
n",sizeof (mar)) ;
float altura; }
float peso;
};
El tamaño de una estructura

El tamaño de una estructura


ACCESO A ESTRUCTURAS

• 1) utilizando el operador punto (.) o


• 2) utilizando el operador puntero ->.
<nombre variable estructura> . <nombre miembro>
= datos;
struct corredor cr;
printf ("Nombre: ") ;
gets(cr.nombre);
printf ("edad: ") ;
scanf ( "%d" , &cr . edad) ;
printf ("Sexo: ") ;
scanf ( "%c" , &cr. sexo) ;
printf ("Club: ") ;
gets(cr.club) ;
if (cr.edad <= 18)
cr .categoria = "Juvenil";
elseif (cr.edad <= 40)
cr. categoria = "Senior";
else
cr. categoria = 'Veterano";
Recuperación de información de
una estructura
1. <nombre variable> =
<nombre variable estructura>.<nombre miembro>;
<nombre variable> = <puntero de estructura> -> <nombre
miembro>;
2 . para salida:
printf(" ",<nombre variable estructura>.<nombre miembro>);
printf(" ",<puntero de estructura>-> <nombre miembro>);
ESTRUCTURAS ANIDADAS
struct empleado
{ char nombre-emp [ 3 O I ;
char direccion [25] ;
char ciudad [ 2 O I ;
char provincia [2O] ;
int cod_postal;
double salario;
};
ESTRUCTURAS ANIDADAS
struct clientes
{ char nombre_clie[ 3 O I ;
char direccion [25] ;
char ciudad [ 2 O I ;
char provincia [2O] ;
int cod_postal;
double saldo;
};
ESTRUCTURAS ANIDADAS

struct info_dir
{
char direccion [25] ;
char ciudad [ 2 O I ;
char provincia [2O] ;
int cod_postal;
};
ESTRUCTURAS ANIDADAS

struct empleado
{ char nombre_emp [ 3 O I ;
struct info_dir dirección_emp;
double salario;
};
ESTRUCTURAS ANIDADAS

struct clientes
{ char nombre_clie[ 3 O I ;
struct info_dir direccion_clien;
double saldo;
};
Arreglos de estructuras
• struct NombreEstructura
{
TipoVariable1 NombreVariable1 ;
TipoVariableN NombreVariableN ;
};
struct NombreEstructura VariableArreglo[NumElementos];
EJEMPLO
struct libreria
{
char titulo[100];
char autor[75];
float precio;
};
EJEMPLO
void main() {
struct libreria libros[10];
int n, i;
printf ("Cuantos libros: \n");
scanf ("%d", &n);
for (i=0; i<n; i++)
{
printf ("\nLibro
%d:\n", i+1);
puts("Titulo : ");
gets
(libros[i].titulo);
gets
(libros[i].autor);
scanf ("%f",
&libros[i].precio);
} /* del for */
EJEMPLO
EJERCICIO 2

• Desarrolle una estructura que guarde los datos de


"N" alumnos de la materia de Estructuras de Datos, y los
muestres por pantalla, la estructura debe tener (cedula,
nombre, apellido, edad, profesión, lugar de nacimiento,
dirección y teléfono).
EJERCIO EN CLASE

• 2.-Escribe un programa de facturación de clientes. Los clientes tienen un nombre, el número


de unidades solicitadas, el precio de cada unidad y el estado en que se encuentra: moroso,
atrasado y pagado el programa debe generar a los diversos clientes:

También podría gustarte