ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Estructura En C++, 100 Alumnos


Enviado por   •  20 de Abril de 2014  •  1.643 Palabras (7 Páginas)  •  385 Visitas

Página 1 de 7

Estructuras

1 Objetivos

Al finalizar esta actividad, serás capaz de:

1. Escribir la declaración de una estructura de datos convenientemente especificada

2. Escribir el código necesario para acceder a un elemento o conjunto de elementos de una estructura de datos

2 Motivación

Hasta ahora hemos trabajado con datos elementales (enteros, reales, caracteres) o con vectores (agregaciones de datos del mismo tipo). En ocasiones es necesario trabajar con información que se compone de varios datos de tipos elementales diferentes.

Por ejemplo, podemos tener una aplicación que trabaje con los clientes de nuestro banco. La información relativa a un cliente se podría componerse de:

Identificador Un número entero

Nombre Un vector de caracteres

Saldo Un número real

Y naturalmente, querremos trabajar con muchos clientes (quizá un vector de clientes).

En el lenguaje de programación C, el mecanismo que permite trabajar con este tipo de estructuras de datos es la construcción struct (estructuras). En las próximas secciones veremos cómo trabajar con esta construcción.

3 Las estructuras en C

Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente.

El programa declara una variable llamada cliente que es una estructura que contiene tres campos: un campo de tipo entero llamado id para almacenar el identificador del cliente, un vector de caracteres llamado nom para almacenar el nombre y un real llamado saldo para almacenar el saldo del cliente.

El acceso a cada uno de esos campos es muy fácil. Simplemente se escribe el nombre de la variable, un punto y el nombre del campo al que queremos acceder.

1. Construye un proyecto que contenga el programa anterior, y verifica que funciona correctamente. Después haz la prueba siguiente:

Pon un punto de parada en la sentencia if. Ejecuta el programa hasta ese punto de parada.

Coloca la variable cliente en la ventana del watch. Esta ventana tendrá el aspecto mostrado a la derecha.

El signo + dentro de un cuadrado indica que cliente es una variable compuesta y que, por tanto, contiene diversos campos con información.

Haz clic en ese signo +. Se abrirá la estructura y la ventana de watch tendrá el aspecto de la derecha.

La ventana te está mostrando los tres campos de la estructura, y el contenido de cada uno de esos campos. Fíjate que el campo nom es también una estructura compuesta (en este caso un vector). Podríamos abrirla para ver su contenido (haciendo clic en el signo +) pero no vale la pena porque ya estamos viendo que contiene la palabra Luis.

4 Vectores de estructuras

Normalmente trabajaremos con vectores de estructuras. Fíjate en el ejemplo siguiente, en el que trabajamos con un vector de clientes.

El programa lee del terminal la información de varios clientes, que guarda en un vector de clientes, y luego recorre el vector para detectar los clientes que tienen un saldo superior a 100.0 y escribe en la pantalla sus nombres.

Fíjate en la construcción typedef que aparece antes del programa principal. Con esta construcción estamos definiendo un nuevo tipo de dato que se llamará Tcliente, que es una estructura que contiene tres campos (identificador, nombre y saldo). En realidad todavía no hemos declarado ningún cliente. Simplemente estamos diciendo que a partir de este momento usaremos la palabra Tcliente para declarar variables que contendrán clientes. En el ejemplo se separa la definición de la estructura de la declaración de los variables. De este modo el programa queda más claro.

Fíjate como hemos definido el tipo de estructura Tlista. En esta estructura tendremos la lista de clientes. La estructura contiene un campo para guardar el número de clientes de la lista, y otro campo que es en realidad un vector de clientes. Observa cómo hemos usado la palabra Tcliente para indicar que cada elemento del vector es en realidad una estructura que contiene la información de un cliente. En el vector caben hasta 100 clientes (el valor de la constante MAX) pero puede haber menos. En el campo numero tendremos siempre el número de clientes que realmente hay en el vector.

Una vista grafica de la estructura del tipo Tlista podría ser:

mis_clientes

numero

id id --- ------ ------ ---- --- --- --- --- ---- --- --- --- --- --- --- --- --- -- -- -- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- - id

nom nom nom

saldo saldo saldo

cliente[0] cliente[1] cliente[MAX-1]

Fíjate ahora en el programa principal, donde declaramos por fin una variable de tipo Tlista. Después leemos el número de clientes y entramos en un bucle para leer los datos de todos esos clientes. Finalmente, tenemos el bucle que recorre la lista para realizar la tarea.

Fíjate finalmente cómo accedemos a los campos de las estructuras. Por ejemplo:

mis_clientes.cliente[i].saldo

Tal y como se ha explicado antes, primero se pone el nombre de la variable, y después un punto seguido el nombre del campo al que queremos acceder. En este ejemplo, como el campo es un vector, tendremos que poner el índice correspondiente a la posición del vector

...

Descargar como (para miembros actualizados)  txt (10.1 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com