estructuras en c++

7
Universidad de Santiago de Chile Departamento de tecnologías industriales Laboratorio de redes de telecomunicaciones Trabajo de Investigación C++: Estructuras y Punteros.

Upload: pablo-inostroza

Post on 04-Feb-2016

3 views

Category:

Documents


0 download

DESCRIPTION

paso a paso estructuras básica en c++

TRANSCRIPT

Page 1: Estructuras en c++

Universidad de Santiago de ChileDepartamento de tecnologías industrialesLaboratorio de redes de telecomunicaciones

Trabajo de Investigación C++:Estructuras y Punteros.

Profesor : Arturo RodríguezAlumno : Pablo InostrozaFecha : 11 de septiembre de 2015

Page 2: Estructuras en c++

1. ESTRUCTURAS C++ (Struct)

Las estructuras nos permiten apilar varios datos, aunque sean de distinto tipo, que mantengan algún tipo de relación, y 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 campo. Como por ejemplo:

Img 1:ejemplo de estructura

Como muestra la imagen anterior la persona representa la estructura y los demás atributos de ella los campos (nombre, teléfono, dirección, edad).

(ej: estructura = PC, Campos = Procesador, Memoria Ram, etc…)

2. PUNTERO C++(*)

Un puntero es un tipo especial de variable que contiene, ni más ni menos que, una dirección de memoria. Por supuesto, a partir de esa dirección de memoria puede haber cualquier tipo de objeto: char, int, float, array, struct, función u otro puntero. Seremos nosotros los responsables de decidir ese contenido.

Img 2. “Puntero apuntando a un array”

En la img2 anterior un puntero “P” se le asigna una variable de tipo array “a” .

Page 3: Estructuras en c++

A modo de recuerdo:

CHAR: Variable que contiene caracteres, un dígitos numéricos o un signo de puntuación.

INT: Variables enteras que almacenan números enteros.

FLOAT: Variables que almacenan números en formato de coma flotante, codifican números con decimales.

ARRAY: Variables que permiten agrupar datos usando un único identificador. Todos los elementos de un array son del mismo tipo, y para acceder a cada elemento se usan índices. Similar a un vector.

STRUCT: Variables similares a una base de datos. Ya Visto Anteriormente.

Podríamos decir que existen tantos tipos diferentes de punteros como tipos de objetos puedan ser referenciados mediante punteros. Si tenemos esto en cuenta, los punteros que apunten a tipos de objetos distintos, serán tipos diferentes. Por ejemplo, no podemos asignar a un puntero a char el valor de un puntero a int.

3. EJEMPLO

A continuación un programa explicado un poco más a fondo en donde trabajan una estructura y un puntero.

La función de este programa será calcular el promedio de un semestre de estudios. Por esto se le denomino “CALCULADORA DE PROMEDIO”.

a)

Img 3.0: “Creando librerías”

se incluyen la librerías :

iostream : Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante

stdio : Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida.

Sintaxis : #include <nombre de la librería> //para escribir comentario

Page 4: Estructuras en c++

b)

Img 3.1: “Creando estructura, variables de tipo entero y float”

Se crea la estructura y se nombró “notas”. Además se especifican la variables que se van almacenar, en este caso de tipo entero y decimal, la cual tendrá como objetivo guardar las notas.

También se crea el puntero *Dnota que servirá para apuntar o dirigir a la estructura.

c)

Img 3.2: “Se crea función main y se asigna el puntero a la estructura”

Se crea la función int main en la cual pediremos por pantalla que ingrese los valores.

Se asigna el puntero “Dnotas” a la estructura “notas”, se usa ampersand “&” para indicarle la dirección de memoria.

NOTA: como hemos declarado la función del tipo int, al llegar al final de su ejecución tendremos que devolver un valor. Normalmente se devuelve 0 para indicar que el programa ha finalizado correctamente, y cualquier otro valor para indicar una ejecución anormal

Page 5: Estructuras en c++

d)

Img 3.3 : “Se imprime en pantalla y se escanea los valores ingresados”

Continuando dentro de la función int main, utilizamos la función Prinf para imprimir en pantalla y para pedir que introduzca las notas de 2 digitos. En seguida usamos Scanf para que guarde lo valores ingresados por teclado en cada variable de la estructura. (PEP1, PEP2, PEP3 Y Controles).No se debe olvidar el punto y coma al final para una correcta ejecución del programa.

E)

Img 3.4: “se asigna la dirección del puntero promedio final y se imprime en pantalla”

Se usa \n dentro del printf para aplicar un salto de línea con el fin de que se vea más ordenado.

Gracias al puntero se no hace más fácil o más cómodo el manejo de las notas creadas en la estructura.

Se le asigna al Dnota->promediofinal el cálculo del promedio.

Finalmente con printf se imprime en pantalla el promedio final con 2 decimales después de la coma.

Page 6: Estructuras en c++

F)

Compilamos, los echamos a correr (run) y verificamos que funciona bien.

Se recomiendo ir compilando a medida de que se va avanzando en caso de algún error.