Sie sind auf Seite 1von 6

Universidad de Santiago de Chile

Departamento de tecnologas industriales


Laboratorio de redes de telecomunicaciones

Trabajo de Investigacin C+
+:
Estructuras y Punteros.

Profesor
Alumno
Fecha

: Arturo Rodrguez
: Pablo Inostroza
: 11 de septiembre de 2015

1. ESTRUCTURAS C++ (Struct)


Las estructuras nos permiten apilar varios datos, aunque sean de distinto tipo, que
mantengan algn tipo de relacin, y manipularlos todos juntos, con un mismo identificador,
o por separado. Las estructuras son llamadas tambin muy a menudo registros, o en
ingls "records". Y son estructuras anlogas en muchos aspectos a los registros de bases
de datos. Y siguiendo la misma analoga, 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 dems


atributos de ella los campos (nombre, telfono, direccin, edad).
(ej: estructura = PC, Campos = Procesador, Memoria Ram, etc)

2. PUNTERO C++(*)
Un puntero es un tipo especial de variable que contiene, ni ms ni menos que, una
direccin de memoria. Por supuesto, a partir de esa direccin de memoria puede haber
cualquier tipo de objeto: char, int, float, array, struct, funcin 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 .

A modo de recuerdo:
CHAR: Variable que contiene caracteres, un dgitos numricos o un signo de puntuacin.
INT: Variables enteras que almacenan nmeros enteros.
FLOAT: Variables que almacenan nmeros en formato de coma flotante, codifican
nmeros 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.
Podramos 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, sern tipos diferentes. Por ejemplo, no podemos
asignar a un puntero a char el valor de un puntero a int.

3. EJEMPLO
A continuacin un programa explicado un poco ms a fondo en donde trabajan una
estructura y un puntero.
La funcin 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 libreras

se incluyen la libreras :

iostream : Parte del a STL que contiene los algoritmos estndar, es quiz la ms
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 librera> //para escribir comentario

b)

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

Se crea la estructura y se nombr notas. Adems se especifican la variables que se van


almacenar, en este caso de tipo entero y decimal, la cual tendr como objetivo guardar las
notas.
Tambin se crea el puntero *Dnota que servir para apuntar o dirigir a la estructura.

c)

Img 3.2: Se crea funcin main y se asigna el puntero a la estructura

Se crea la funcin 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 direccin de memoria.
NOTA: como hemos declarado la funcin del tipo int, al llegar al final de su ejecucin
tendremos que devolver un valor. Normalmente se devuelve 0 para indicar que el
programa ha finalizado correctamente, y cualquier otro valor para indicar una ejecucin
anormal

d)

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

Continuando dentro de la funcin int main, utilizamos la funcin 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 ejecucin del programa.

E)

Img 3.4: se asigna la direccin del puntero promedio final y se imprime en pantalla

Se usa \n dentro del printf para aplicar un salto de lnea con el fin de que se vea ms
ordenado.
Gracias al puntero se no hace ms fcil o ms cmodo el manejo de las notas creadas en
la estructura.
Se le asigna al Dnota->promediofinal el clculo del promedio.
Finalmente con printf se imprime en pantalla el promedio final con 2 decimales despus
de la coma.

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 algn error.

Das könnte Ihnen auch gefallen