estructuras en c

34
Algoritmos, Estructuras y Programación II Tema: Estructuras Ing. Vanessa Borjas

Upload: vane-borjas

Post on 29-Jun-2015

15.994 views

Category:

Education


0 download

DESCRIPTION

Estructuras en lenguaje C. Definición, declaración, inicialización, arrays, ejemplo.

TRANSCRIPT

Page 1: Estructuras en C

Algoritmos, Estructuras y Programación II

Tema: Estructuras

Ing. Vanessa Borjas

Page 2: Estructuras en C

La capacidad de crear nuevos tipos de datos es una característica importante y potente de C y libera a un programador

de restringirse al uso de los tipos ofrecidos por el lenguaje. Una

estructura contiene múltiples variables, que pueden ser de tipos diferentes.

Page 3: Estructuras en C

Los arrays son estructuras de datos que contienen un número determinado de elementos (su tamaño) y todos los elementos han de ser del mismo tipo de datos; es una estructura de datos homogénea. Por ejemplo, si se dispone de una lista de temperaturas, es muy útil un array; sin embargo, si se necesita una lista de información de clientes que contengan elementos tales como el nombre, la edad, la dirección, el número de cuenta, entre otros, los arrays no son adecuados. La solución a este problema es utilizar un tipo de dato registro, en C llamado ESTRUCTURA.

Page 4: Estructuras en C

ESTRUCTURA

Es una colección de uno o más tipos de elementos denominados

miembros, cada uno de los cuales puede ser un tipo de dato diferente.

Page 5: Estructuras en C

Miembros de una estructura•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 información sobre una persona, tal como nombre, estado civil, edad y fecha de nacimiento. Cada uno de estos elementos se denominan nombre del miembro.

Page 6: Estructuras en C

Una estructura puede contener cualquier número de miembros, cada uno de los cuales tiene un nombre único, denominado nombre del miembro. 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.

Page 7: Estructuras en C

La estructura CD contiene cinco miembros. Tras decidir los miembros, se debe decidir cuáles son los tipos de datos para utilizar por los miembros. Ejemplo:

Nombre miembro Tipo de dato

Título Array de caracteres de tamaño 30.

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 10

Page 8: Estructuras en C

Declaración de una estructura

struct <nombre de la estructura> {<tipo de dato miembro > <nombre miembro1_> <tipo de dato miembro> <nombre miembro_2> ...<tipo de dato miembro> <nombre miembro_n> };

La estructura es un tipo de dato definido por el usuario, que se debe declarar antes de que se pueda

utilizar.

Page 9: Estructuras en C

Ejemplo:

Page 10: Estructuras en C

Diferencia entre «declaraciones» y «definiciones» de estructuras.•Una declaración especifica simplemente

el nombre y el formato de la estructura de datos, pero no reserva almacenamiento en memoria. En este caso, la declaración especifica un nuevo tipo de dato: struct <nombre-estructura>.

•Cada definición de variable para una estructura dada crea un área en memoria en donde los datos se almacenan de acuerdo al formato estructurado declarado.

Page 11: Estructuras en C

Las variables de estructuras se pueden definir de dos formas.

Listándolas inmediatamente

después de la llave de cierre de la

declaración de la estructura.

Listando el tipo de la estructura

creado seguido por las variables

correspondientes en cualquier lugar del programa antes

de utilizarlas.

1 2

Page 12: Estructuras en C

Ejemplo:

1

2

Page 13: Estructuras en C

Existen dos formas de inicializar una estructura:

Dentro de la sección de código de su programa (de

la estructura).

Se puede inicializar la

estructura como parte de la definición.

1 2

Page 14: Estructuras en C

Ejemplo:

1

2

Page 15: Estructuras en C

Acceso a estructuras

Cuando se accede a una estructura, o bien se almacena información en la estructura o se recupera la información de ella.

Se puede acceder a los miembros de una estructura utilizando el operador punto [.]

La sintaxis es:

<nombre_variable_estructura>.<nombre_miembro>=datos;

Page 16: Estructuras en C

Ejemplo

Nota: para poder usar la función strcpy se necesita la librería string.h

Page 17: Estructuras en C

Arrays de Estructuras

Se puede crear un array de estructuras tal como se crea un array de otros tipos. Los arrays de estructuras son idóneos para

almacenar un archivo completo de empleados, un archivo de inventario, o cualquier otro conjunto de datos que se

adapte a un formato de estructura.

Page 18: Estructuras en C

La declaración de un array de estructuras cd se puede hacer de un modo similar a cualquier array, es decir,

Arrays de Estructuras

asigna un array de 3 elementos denominado mis_cds. Para acceder a los miembros de cada uno de los elementos estructura se utiliza una notación de array.

Page 19: Estructuras en C

Para inicializar el primer elemento de mis_cds, por ejemplo, su código debe hacer referencia a los miembros de mis_cds[0] de la forma siguiente:

Page 20: Estructuras en C

Ejemplo de Estructuras

•El ejemplo a continuación es un programa donde se declara una estructura cd con los miembros: título, artista, número de canciones, precio y fecha de compra.

•Se creó un array de 3 elementos de tipo estructura cd.

•Los miembros de cada elemento del array serán llenados por el usuario del programa.

Page 21: Estructuras en C

Librerías, declaraciones, prototipos y

variables.

Page 22: Estructuras en C

Función para leer los datos

Page 23: Estructuras en C

Función para mostrar los

datos

Page 24: Estructuras en C

Menú de opciones

Page 25: Estructuras en C

Menú de opciones (continuación)

Page 26: Estructuras en C

Menú de opciones (continuación)

Page 27: Estructuras en C

Función Principal

Page 28: Estructuras en C

Ejercicio Propuesto

•Una empresa de venta de productos necesita un programa que le permita hacer un registro de sus proveedores, clientes, empleados y productos.

•Al abrir el programa, lo primero que debe aparecer es un mensaje de bienvenida con el nombre de la empresa.

•Seguidamente, debe mostrar un menú principal con las opciones:

Page 29: Estructuras en C

1) Proveedores.2) Clientes.3) Empleados.4) Productos.5) Salir del sistema.

•La opción 1 (Proveedores) debe llevar al submenú:

1) Nuestros Proveedores.2) Registrar proveedores.3) Mostrar lista de proveedores.4) Volver al menú inicial.

Page 30: Estructuras en C

•La opción 2 (Clientes) debe llevar al submenú:

1) Registrar clientes.2) Mostrar lista de clientes.3) Volver al menú inicial.

•La opción 3 (Empleados) debe llevar al submenú:

1) Nuestra gente.2) Registrar empleados.3) Mostrar lista de empleados.4) Volver al menú inicial.

Page 31: Estructuras en C

•La opción 4 (Productos) debe llevar al submenú:

1) Nuestros productos.2) Registrar productos.3) Mostrar lista de productos.4) Volver al menú inicial.

•La opción 5 debe salir del sistema.

Page 32: Estructuras en C

Las opciones nuestros proveedores, nuestra gente y nuestros productos, deben dar una breve reseña.

Por ejemplo:

Nuestros productos:“Nuestra empresa está comprometida a poner en las manos de nuestros clientes los productos de mayor calidad dentro del mercado. Nuestro objetivo es lograr la satisfacción del cliente, dándoles el producto que necesitan al precio más accesible”.

Page 33: Estructuras en C

El programa debe aceptar el registro de al menos:•3 proveedores.•3 clientes.•3 empleados.•3 productos.

Haga uso de estructuras y arreglos de estructuras.

Page 34: Estructuras en C

Fuente:PROGRAMACIÓN EN C. Metodología, algoritmos y estructuras de datos. Autores: Luis Joyanes Aguilar, Ignacio Zahonero Martínez.