SlideShare una empresa de Scribd logo
Algoritmos, Estructuras y Programación II
Tema: Estructuras
Ing. Vanessa
Borjas
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.
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.
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.
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.
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.
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
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.
Ejemplo:
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.
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
Ejemplo:
1
2
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
Ejemplo:
1
2
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;
Ejemplo
Nota: para poder usar la función strcpy se necesita la
librería string.h
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.
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.
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:
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.
Librerías,
declaraciones,
prototipos y
variables.
Función para
leer los datos
Función para
mostrar los
datos
Menú de
opciones
Menú de
opciones
(continuación)
Menú de
opciones
(continuación)
Función
Principal
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:
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.
• 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.
• 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.
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”.
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.
Fuente:
PROGRAMACIÓN EN C.
Metodología, algoritmos y estructuras
de datos. Autores: Luis Joyanes
Aguilar, Ignacio Zahonero Martínez.

Más contenido relacionado

La actualidad más candente

Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
ncrmax
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
adark
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeInt
Cristian C
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
José Antonio Sandoval Acosta
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasAlejandro Pacheco
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseint
HEIVER CUESTA
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
Urban Skate House
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
Daniel Gomez Jaramillo
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
David Rocha Bardales
 
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismo
José Antonio Sandoval Acosta
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasgrupo niche ortega
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
Don Augusto
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
josecuartas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
Juan Astudillo
 
Ejercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesEjercicio de estructuras_condicionales
Ejercicio de estructuras_condicionales
Renzo Bernabe Aguilar
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-whileDelvi Ramirez
 

La actualidad más candente (20)

Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Calculadora con operaciones básicas en java
Calculadora con operaciones básicas en javaCalculadora con operaciones básicas en java
Calculadora con operaciones básicas en java
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeInt
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadas
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseint
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
 
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismo
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2
 
Ejercicio de estructuras_condicionales
Ejercicio de estructuras_condicionalesEjercicio de estructuras_condicionales
Ejercicio de estructuras_condicionales
 
Ejercicios Entidad - Relacion
Ejercicios Entidad - RelacionEjercicios Entidad - Relacion
Ejercicios Entidad - Relacion
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 

Destacado

Elementos
ElementosElementos
Elementos
Fernando Solis
 
Arrays
ArraysArrays
Arrays
marcia-marti
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Fernando Solis
 
Funciones
FuncionesFunciones
Funciones
Fernando Solis
 
Sentencias de control
Sentencias de controlSentencias de control
Sentencias de control
Fernando Solis
 

Destacado (6)

Elementos
ElementosElementos
Elementos
 
Arrays
ArraysArrays
Arrays
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Funciones
FuncionesFunciones
Funciones
 
Sentencias de control
Sentencias de controlSentencias de control
Sentencias de control
 
Estudio de Factibilidad
Estudio de FactibilidadEstudio de Factibilidad
Estudio de Factibilidad
 

Similar a Estructuras en C

Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programaciondiego MC
 
ESTRUCTURAS Y UNIONES EN C++
ESTRUCTURAS Y UNIONES EN C++ESTRUCTURAS Y UNIONES EN C++
ESTRUCTURAS Y UNIONES EN C++die_dex
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
Jomicast
 
documento
documentodocumento
documento
Juan Sebastian
 
documento
documentodocumento
n
nn
Bases de datos my sql 2
Bases de datos my sql 2Bases de datos my sql 2
Bases de datos my sql 2Carlo Silva
 
my SQL - PRACTICA DE SLIDE
my SQL - PRACTICA DE SLIDE my SQL - PRACTICA DE SLIDE
my SQL - PRACTICA DE SLIDE
Wilfredo Rios Rodriguez
 
Medicina - Taller
Medicina - TallerMedicina - Taller
Medicina - Taller
Wilfredo Rios Rodriguez
 
Tutorial basico acces
Tutorial basico accesTutorial basico acces
Tutorial basico acces
juanma-rozo
 
Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1
Angeles Merino Basurto
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My SqlArnulfo Gomez
 
Introduccion a microsoft access 1
Introduccion a microsoft access 1Introduccion a microsoft access 1
Introduccion a microsoft access 1
DIGNA ISABEL
 

Similar a Estructuras en C (20)

Clase 10_ programacion
Clase 10_ programacionClase 10_ programacion
Clase 10_ programacion
 
ESTRUCTURAS Y UNIONES EN C++
ESTRUCTURAS Y UNIONES EN C++ESTRUCTURAS Y UNIONES EN C++
ESTRUCTURAS Y UNIONES EN C++
 
German sgbd
German sgbdGerman sgbd
German sgbd
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Temario
Temario Temario
Temario
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
documento
documentodocumento
documento
 
documento
documentodocumento
documento
 
n
nn
n
 
CREACION DE TABLAS
CREACION DE TABLASCREACION DE TABLAS
CREACION DE TABLAS
 
Bases de datos my sql 2
Bases de datos my sql 2Bases de datos my sql 2
Bases de datos my sql 2
 
my SQL - PRACTICA DE SLIDE
my SQL - PRACTICA DE SLIDE my SQL - PRACTICA DE SLIDE
my SQL - PRACTICA DE SLIDE
 
Medicina - Taller
Medicina - TallerMedicina - Taller
Medicina - Taller
 
Tutorial basico acces
Tutorial basico accesTutorial basico acces
Tutorial basico acces
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1Introducción a las bases de datos Parte1
Introducción a las bases de datos Parte1
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My Sql
 
Introduccion a microsoft access 1
Introduccion a microsoft access 1Introduccion a microsoft access 1
Introduccion a microsoft access 1
 
Concepto de base de datos
Concepto de base de datosConcepto de base de datos
Concepto de base de datos
 
Concepto de base de datos
Concepto de base de datosConcepto de base de datos
Concepto de base de datos
 

Más de Vane Borjas

Fundamentos de la Lógica
Fundamentos de la LógicaFundamentos de la Lógica
Fundamentos de la Lógica
Vane Borjas
 
Matrices
MatricesMatrices
Matrices
Vane Borjas
 
Historia de la ingeniería
Historia de la ingenieríaHistoria de la ingeniería
Historia de la ingeniería
Vane Borjas
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
Vane Borjas
 
Teoria de Conjuntos
Teoria de ConjuntosTeoria de Conjuntos
Teoria de Conjuntos
Vane Borjas
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
Vane Borjas
 
¿Por qué aprender a programar?
¿Por qué aprender a programar?¿Por qué aprender a programar?
¿Por qué aprender a programar?
Vane Borjas
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datos
Vane Borjas
 
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Vane Borjas
 
Ejemplo ELIMINAR registros desde Visual Basic 2012
Ejemplo ELIMINAR registros desde Visual Basic 2012Ejemplo ELIMINAR registros desde Visual Basic 2012
Ejemplo ELIMINAR registros desde Visual Basic 2012
Vane Borjas
 
Ejemplo BUSCAR registros desde Visual Basic 2012
Ejemplo BUSCAR registros desde Visual Basic 2012Ejemplo BUSCAR registros desde Visual Basic 2012
Ejemplo BUSCAR registros desde Visual Basic 2012
Vane Borjas
 
Ejemplo GUARDAR registros desde Visual Basic 2012
Ejemplo GUARDAR registros desde Visual Basic 2012Ejemplo GUARDAR registros desde Visual Basic 2012
Ejemplo GUARDAR registros desde Visual Basic 2012
Vane Borjas
 

Más de Vane Borjas (12)

Fundamentos de la Lógica
Fundamentos de la LógicaFundamentos de la Lógica
Fundamentos de la Lógica
 
Matrices
MatricesMatrices
Matrices
 
Historia de la ingeniería
Historia de la ingenieríaHistoria de la ingeniería
Historia de la ingeniería
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
 
Teoria de Conjuntos
Teoria de ConjuntosTeoria de Conjuntos
Teoria de Conjuntos
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
¿Por qué aprender a programar?
¿Por qué aprender a programar?¿Por qué aprender a programar?
¿Por qué aprender a programar?
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datos
 
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
 
Ejemplo ELIMINAR registros desde Visual Basic 2012
Ejemplo ELIMINAR registros desde Visual Basic 2012Ejemplo ELIMINAR registros desde Visual Basic 2012
Ejemplo ELIMINAR registros desde Visual Basic 2012
 
Ejemplo BUSCAR registros desde Visual Basic 2012
Ejemplo BUSCAR registros desde Visual Basic 2012Ejemplo BUSCAR registros desde Visual Basic 2012
Ejemplo BUSCAR registros desde Visual Basic 2012
 
Ejemplo GUARDAR registros desde Visual Basic 2012
Ejemplo GUARDAR registros desde Visual Basic 2012Ejemplo GUARDAR registros desde Visual Basic 2012
Ejemplo GUARDAR registros desde Visual Basic 2012
 

Último

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
JavierMontero58
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 

Último (20)

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 

Estructuras en C

  • 1. Algoritmos, Estructuras y Programación II Tema: Estructuras Ing. Vanessa Borjas
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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
  • 8. 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.
  • 10. 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.
  • 11. 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
  • 13. 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
  • 15. 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;
  • 16. Ejemplo Nota: para poder usar la función strcpy se necesita la librería string.h
  • 17. 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.
  • 18. 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.
  • 19. 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:
  • 20. 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.
  • 28. 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:
  • 29. 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.
  • 30. • 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.
  • 31. • 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.
  • 32. 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”.
  • 33. 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.
  • 34. Fuente: PROGRAMACIÓN EN C. Metodología, algoritmos y estructuras de datos. Autores: Luis Joyanes Aguilar, Ignacio Zahonero Martínez.