La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ing. Eduard Antonio Lozano Córdoba

Presentaciones similares


Presentación del tema: "Ing. Eduard Antonio Lozano Córdoba"— Transcripción de la presentación:

1 Ing. Eduard Antonio Lozano Córdoba
ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

2 DEFINICIÓN Las estructuras nos permiten agrupar varios datos, aunque sean de distinto tipo, que mantengan algún tipo de relación, permitiendo manipularlos todos juntos, con un mismo identificador, o por separado. Las estructuras son llamadas también muy a menudo registros, o en inglés "records". Y son estructuras análogas en muchos aspectos a los registros de bases de datos. Y siguiendo la misma analogía, cada variable de una estructura se denomina a menudo campo, o "field".

3 MÁS DATOS 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. Esta información se representa en la tabla siguiente:

4 Sintaxis para estructuras en C/C++
En C/C++ se forma una estructura utilizando la palabra reservada struct, seguida por un campo etiqueta opcional, y luego una lista de miembros dentro de la estructura. La etiqueta opcional se utiliza para crear otras variables del tipo particular de la estructura: struct campo_etiqueta{ tipo_miembro miembro_1; tipo_miembro miembro_2; tipo_miembro miembro_3; : tipo_miembro miembro_n; }; Un punto y coma finaliza la definición de una estructura puesto que esta es realmente una sentencia C/C++

5 1. Formas de declarar una estructura
struct stbarco{ char sztipo[iString15]; char szmodelo[iString15]; char sztitular[iString20]; int ianio; long int lhoras_motor; float fprecioventa; }; En un programa, podemos asociar una variable con una estructura utilizando una sentencia similar a la siguiente: struct stbarco stbarco_usado; La sentencia define stbarco_usado de tipo struct stbarco. La declaración requiere el uso del campo etiqueta de la estructura.

6 2. Formas de declarar una estructura
Es posible declarar una variable usando esta sintaxis: struct stbarco{ char sztipo[iString15]; char szmodelo[iString15]; char sztitular[iString20]; int ianio; long int lhoras_motor; float fprecioventa; } stbarco_usado; Aquí la declaración de variable va antes del punto y coma final.

7 3.Formas de declarar una estructura
Cuando se asocia sólo una variable con el tipo estructura, el campo etiqueta puede ser eliminado, por lo que sería posible escribir: struct { char sztipo[iString15]; char szmodelo[iString15]; char sztitular[iString20]; int ianio; long int lhoras_motor; float fprecioventa; } stbarco_usado;

8 Inicialización de estructuras
Se puede inicializar una estructura de dos formas. Se puede inicializar una estructura dentro de la sección de código de su programa, o bien se puede inicializar la estructura como parte de la definición. Cuando se inicializa una estructura como parte de la definición, se especifican los valores iníciales, entre llaves, después de la definición de variables estructura. struct info-libro { char titulo[30] ; char auto[30]; char editorial [30] ; int anyo; } librol = {"Maravilla del saber ",'Lucas Garcia", "McGraw-Hill", 1999); Otro ejemplo podría ser: struct coleccion-CD char artista[25]; int num-canciones; float precio; char fecha-compra[8]; } cdl = { "El humo nubla tus ojos", "col Porter", 15, 2545, " O 2 / 6 / 9 9" } ;

9 Ejemplos de estructuras datos personales
#include<iostream.h> struct persona { char nombre[10]; char apellido[10]; int edad; char telefono[15]; }; void main () persona var; cout<<"DATOS DE LA PERSONA"<<endl; cout<<"Introduzca la edad: "<<endl; cin>>var.edad; cout<<"Introduzca el telefono: "<<endl; cin>>var.telefono; cout<<"Introduzca el nombre: "<<endl; cin>>var.nombre; cout<<"Introduzca el apellido: "<<endl; cin>>var.apellido; cout<<endl; cout<<"DATOS INGRESADOS"<<endl; cout<<"Nombre: "<<var.nombre<<endl; cout<<"Apellido: "<<var.apellido<<endl; cout<<"Telefono: "<<var.telefono<<endl; cout<<"Edad: "<<var.edad<<endl<<endl; } Ejemplos de estructuras datos personales

10 Ejemplos de estructuras notas de un individuo
#include<iostream.h> struct boleta { char nombre [10]; char apellido [10]; float nota1; float nota2; float nota3; float notafinal; }; void main () boleta eduard; cout<<"Nombre: "; cin>>eduard.nombre; cout<<"Apellido: "; cin>>eduard.apellido; cout<<"Primer Parcial: "; cin>>eduard.nota1; cout<<"Segundo Parcial: "; cin>>eduard.nota2; cout<<"Final Parcial: "; cin>>eduard.nota3; eduard.notafinal=(eduard.nota1+eduard.nota2+eduard.nota3)/3; cout<<endl; cout<<"DATOS INGRESADOS"<<endl; cout<<"Nombre: "<<eduard.nombre<<endl; cout<<"Apellido: "<<eduard.apellido<<endl; cout<<"Primer Parcial: "<<eduard.nota1<<endl; cout<<"Segundo Parcial: "<<eduard.nota2<<endl; cout<<"Final: "<<eduard.nota3<<endl; cout<<"Definitiva: "<<eduard.notafinal<<endl; } Ejemplos de estructuras notas de un individuo

11 Ejercicio Ingresar los datos de una persona: Nombre Nota1 Nota2 Nota3
Decir nota mayor Decir nota menor Decir Promedio de nota Ejercicio

12 Estructura de Arreglo datos de varias personas
#include<iostream.h> struct persona { char nombre[10]; char apellido[10]; int edad; char telefono[15]; }; void main () persona var[100]; int i,reg; cout<<"Introduzca el numero de registros a insertar"<<endl; cin>>reg; for(i=1;i<=reg;i++) cout<<"PERSONA NUMERO: "<<i<<endl; cout<<"Introduzca la edad: "<<i<<":"<<endl; cin>>var[i].edad; cout<<"Introduzca el telefono: "<<i<<":"<<endl; cin>>var[i].telefono; cout<<"Introduzca el nombre: "<<endl; cin>>var[i].nombre; cout<<"Introduzca el apellido: "<<endl; cin>>var[i].apellido; cout<<endl; } cout<<"PERSONAS INGRESADAS"<<endl; cout<<"Nombre: "<<var[i].nombre<<endl; cout<<“Apellido: "<<var[i].apellido<<endl; cout<<“Telefono "<<var[i].telefono<<endl; cout<<“Edad: "<<var[i].edad<<endl<<endl; Estructura de Arreglo datos de varias personas

13 Estructura de Arreglo notas #include<iostream.h> struct boleta {
char nombre [10]; char apellido [10]; float nota1; float nota2; float nota3; float notafinal; }; void main () boleta eduard[50]; int i,a; cout<<"cuantos datos va a ingresar"<<endl; cin>>a; for (i=1;i<=a;i++) cout<<"introduzca el nombre en la posicion ("<<i<<"):"<<endl; cin>>eduard[i].nombre; cout<<"introduzca el apellido en la posicion ("<<i<<"):"<<endl; cin>>eduard[i].apellido; cout<<"introduzca el nota 1 en la posicion ("<<i<<"):"<<endl; cin>>eduard[i].nota1; cout<<"introduzca el nota 2 en la posicion ("<<i<<"):"<<endl; cin>>eduard[i].nota2; cout<<"introduzca el nota 3 en la posicion ("<<i<<"):"<<endl; cin>>eduard[i].nota3; eduard[i].notafinal=(eduard[i].nota1+eduard[i].nota2+eduard[i].nota3)/3; cout<<endl; } cout<<"PERSONAS INGRESADAS"<<endl; cout<<"Nombre: "<<eduard[i].nombre<<endl; cout<<"Apellido: "<<eduard[i].apellido<<endl; cout<<"Primer Parcial: "<<eduard[i].nota1<<endl; cout<<"Segundo Parcial: "<<eduard[i].nota2<<endl; cout<<"Final: "<<eduard[i].nota3<<endl; cout<<"Definitiva: "<<eduard[i].notafinal<<endl; Estructura de Arreglo notas

14 Actividad en clase Variables generales: Nombre, Apellido, Edad ,nota1, nota2, nota3, definitiva. Calcular y mostrar la suma de las edades de todos los estudiantes. Mostrar los datos de los estudiantes mayores de edad (edad >= 18). Mostrar los datos del estudiante que obtuvo el promedio mayor. Mostrar los datos del estudiante que obtuvo la nota mas baja en la primera evaluación. Mostrar los datos del estudiante que obtuvo la nota mas alta en la ultima evaluación.

15 Thank You !

16 Leer Estructuras anidas Palabras reservada UNION

17 El tamaño de una estructura
El operador sizeof se aplica sobre un tipo de datos, o bien sobre una variable. Se puede aplicar para determinar el tamaño que ocupa en memoria una estructura. El siguiente programa ilustra el uso del operador sizeof para determinar el tamaño de una estructura: #include <stdio.h> #include <iostream.h> /// * declarar una estructura Persona * / struct persona { char nombre[30]; int edad; float altura; float peso; }; void main( ) struct persona mar; cout<<"EL TAMAÑO DE LA ESTRUCTURA ES: " <<sizeof(mar); }


Descargar ppt "Ing. Eduard Antonio Lozano Córdoba"

Presentaciones similares


Anuncios Google