logo add your company slogan estructuras ing. eduard antonio lozano córdoba

17
LOGO “ Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Upload: venceslas-penaranda

Post on 16-Apr-2015

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

LOGO

“ Add your company slogan ”

ESTRUCTURASIng. Eduard Antonio Lozano Córdoba

Page 2: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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".

Page 3: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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:

1. Título.

2. Artista.

3. Número de canciones.

4. Precio.

5. 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:

MÁS DATOS

Page 4: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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++

Page 5: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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.

Page 6: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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.

Page 7: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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;

Page 8: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Inicialización de estructurasSe 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.

1. struct info-libro

2. {

3. char titulo[30] ;

4. char auto[30];

5. char editorial [30] ;

6. int anyo;

7. } librol = {"Maravilla del saber ",'Lucas Garcia", "McGraw-Hill", 1999);     Otro ejemplo podría ser:  

1. struct coleccion-CD

2. {

3. char titulo[30] ;

4. char artista[25];

5. int num-canciones;

6. float precio;

7. char fecha-compra[8];

8. } cdl = {

9. "El humo nubla tus ojos",

10. "col Porter",

11. 15,

12. 2545,

13. " O 2 / 6 / 9 9"

14. } ;

Page 9: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Ejemplos de estructurasdatos personales

1. #include<iostream.h>

2. struct persona

3. {

4. char nombre[10];

5. char apellido[10];

6. int edad;

7. char telefono[15];

8. };

9. void main ()

10. {

11. persona var;

12. cout<<"DATOS DE LA PERSONA"<<endl;

13. cout<<"Introduzca la edad: "<<endl;

14. cin>>var.edad;

15. cout<<"Introduzca el telefono: "<<endl;

16. cin>>var.telefono;

17. cout<<"Introduzca el nombre: "<<endl;

18. cin>>var.nombre;

19. cout<<"Introduzca el apellido: "<<endl;

20. cin>>var.apellido;

21. cout<<endl;

22. cout<<"DATOS INGRESADOS"<<endl;

23. cout<<"Nombre: "<<var.nombre<<endl;

24. cout<<"Apellido: "<<var.apellido<<endl;

25. cout<<"Telefono: "<<var.telefono<<endl;

26. cout<<"Edad: "<<var.edad<<endl<<endl;

27. cout<<endl;

28. }

Page 10: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

1. #include<iostream.h>

2. struct boleta

3. {

4. char nombre [10];

5. char apellido [10];

6. float nota1;

7. float nota2;

8. float nota3;

9. float notafinal;

10. };

11. void main ()

12. {

13. boleta eduard;

14. cout<<"Nombre: ";

15. cin>>eduard.nombre;

16. cout<<"Apellido: ";

17. cin>>eduard.apellido;

18. cout<<"Primer Parcial: ";

19. cin>>eduard.nota1;

20. cout<<"Segundo Parcial: ";

21. cin>>eduard.nota2;

22. cout<<"Final Parcial: ";

23. cin>>eduard.nota3;

24.eduard.notafinal=(eduard.nota1+eduard.nota2+eduard.nota3)/3;

25. cout<<endl;

26. cout<<endl;

27. cout<<"DATOS INGRESADOS"<<endl;

28. cout<<"Nombre: "<<eduard.nombre<<endl;

29. cout<<"Apellido: "<<eduard.apellido<<endl;

30. cout<<"Primer Parcial: "<<eduard.nota1<<endl;

31. cout<<"Segundo Parcial: "<<eduard.nota2<<endl;

32. cout<<"Final: "<<eduard.nota3<<endl;

33. cout<<"Definitiva: "<<eduard.notafinal<<endl;

34. cout<<endl;

35. }

Ejemplos de estructurasnotas de un individuo

Page 11: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Ejercicio

Ingresar los datos de una persona:

1. Nombre

2. Nota1

3. Nota2

4. Nota3

5. Nota4

6. Nota5

7. Nota6

8. Nota7

9. Nota8

10. Nota9

11. Nota10

12. Nota11

13. Nota12

14. Nota13

Decir nota mayor Decir nota menor Decir Promedio de nota

Page 12: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

1. #include<iostream.h>

2. struct persona

3. {

4. char nombre[10];

5. char apellido[10];

6. int edad;

7. char telefono[15];

8. };

9. void main ()

10. {

11. persona var[100];

12. int i,reg;

13. cout<<"Introduzca el numero de registros a insertar"<<endl;

14. cin>>reg;

15. for(i=1;i<=reg;i++)

16. {

17. cout<<"PERSONA NUMERO: "<<i<<endl;

18. cout<<"Introduzca la edad: "<<i<<":"<<endl;

19. cin>>var[i].edad;

20. cout<<"Introduzca el telefono: "<<i<<":"<<endl;

21. cin>>var[i].telefono;

22. cout<<"Introduzca el nombre: "<<endl;

23. cin>>var[i].nombre;

24. cout<<"Introduzca el apellido: "<<endl;

25. cin>>var[i].apellido;

26. cout<<endl;

27. }

28. cout<<"PERSONAS INGRESADAS"<<endl;

29. for(i=1;i<=reg;i++)

30. {

31. cout<<"Nombre: "<<var[i].nombre<<endl;

32. cout<<“Apellido: "<<var[i].apellido<<endl;

33. cout<<“Telefono "<<var[i].telefono<<endl;

34. cout<<“Edad: "<<var[i].edad<<endl<<endl;

35. cout<<endl;

36. }

37. }

Estructura de Arreglodatos de varias personas

Page 13: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

1. #include<iostream.h>2. struct boleta3. {4. char nombre [10];5. char apellido [10];6. float nota1;7. float nota2;8. float nota3;9. float notafinal;10. };11. void main ()12. {13. boleta eduard[50];14. int i,a;15. cout<<"cuantos datos va a ingresar"<<endl;16. cin>>a;17. for (i=1;i<=a;i++)18. {19. cout<<"introduzca el nombre en la posicion ("<<i<<"):"<<endl;20. cin>>eduard[i].nombre;21. cout<<"introduzca el apellido en la posicion ("<<i<<"):"<<endl;22. cin>>eduard[i].apellido;23. cout<<"introduzca el nota 1 en la posicion ("<<i<<"):"<<endl;24. cin>>eduard[i].nota1;25. cout<<"introduzca el nota 2 en la posicion ("<<i<<"):"<<endl;26. cin>>eduard[i].nota2;27. cout<<"introduzca el nota 3 en la posicion ("<<i<<"):"<<endl;28. cin>>eduard[i].nota3;29. eduard[i].notafinal=(eduard[i].nota1+eduard[i].nota2+eduard[i].nota3)/3;30. cout<<endl;31. }32. cout<<endl;33. cout<<"PERSONAS INGRESADAS"<<endl;34. for (i=1;i<=a;i++)35. {36. cout<<"Nombre: "<<eduard[i].nombre<<endl;37. cout<<"Apellido: "<<eduard[i].apellido<<endl;38. cout<<"Primer Parcial: "<<eduard[i].nota1<<endl;39. cout<<"Segundo Parcial: "<<eduard[i].nota2<<endl;40. cout<<"Final: "<<eduard[i].nota3<<endl;41. cout<<"Definitiva: "<<eduard[i].notafinal<<endl;42. cout<<endl;43. }44. }45.

Estructura de Arreglonotas

Page 14: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Actividad en clase

Variables generales: Nombre, Apellido, Edad ,nota1, nota2, nota3, definitiva.

1. Calcular y mostrar la suma de las edades de todos los estudiantes.

2. Mostrar los datos de los estudiantes mayores de edad (edad >= 18).

3. Mostrar los datos del estudiante que obtuvo el promedio mayor.

4. Mostrar los datos del estudiante que obtuvo la nota mas baja en la primera evaluación.

5. Mostrar los datos del estudiante que obtuvo la nota mas alta en la ultima evaluación.

Page 15: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

LOGO

“ Add your company slogan ”

[email protected]

Page 16: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

Leer

Estructuras anidas Palabras reservada UNION

Page 17: LOGO Add your company slogan ESTRUCTURAS Ing. Eduard Antonio Lozano Córdoba

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); }