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

Estructura de Datos


Enviado por   •  31 de Mayo de 2012  •  362 Palabras (2 Páginas)  •  411 Visitas

Página 1 de 2

XI. Estructura de Datos

11.1 Definicion de Struct

Una estructura es una agrupación, bajo un mismo nombre de variable, distintos

datos que pueden ser de diferente tipo. Las estructuras vienen a salvar la

limitación de los arrays, que solo almacenan un único tipo de dato.

Una estructura también es llamada registro y cabe su analogía con los registros

de una tabla, donde un registro tiene varios datos (campos) y estos pueden

diferir en su tipo:

Ejemplo:

struct usuarios_t {

int dni;

char nombres[50];

char apellido[30];

time_t nacimiento;

};

//un registro usuarios:

struct usuarios_t usuario;

usuario.dni=27651109

strcpy(usuario.nombres,"Jose Maria");

...

//un array de registros:

struct usuarios_t usuarios[10];

usuario[0].dni=27651109

strcpy(usuario[0].nombres,"Jose Maria");

usuario[1].dni=26852789

strcpy(usuario[1].nombres,"Juan Carlos");

...

Ejemplo:

struct Date {

int day;

int month;

int year;

} today;

int main() {

today.day = 4;

today.month = 7;

today.year = 1776;

}

11.2 Union

Una union se declara de la misma forma que una estructura, reemplazando

struct por union. La diferencia está en que todos los miembros de la union

comparten el mismo espacio en memoria, por lo que solo se puede tener

almacenado un miembro de ellos en cada momento. El tamaño de la union

estará dado por el miembro más largo de la misma.

Ejemplo:

struct usuarios_t {

int dni;

char nombres[50];

char apellido[30];

time_t nacimiento;

};

union usuario_t usuario; /* Declaración de la variable */

11.3 Enum

Una enumeración es un conjunto de constantes enteras. A la enumeración se le

puede asignar un nombre, que se comportará como un nuevo tipo de dato que

solo podrá contener los valores especificados en la enumeración.

Ejemplo:

enum dias_semana {Lunes=1, Martes=2, Miercoles=3, Jueves=4, Viernes=5,

Sábado=6, Domingo=7 };

dias_semana dia;

dia = Lunes;

dia = 1; /* Ambas asignaciones son equivalentes */

Ejemplo con estructuras:

1. Datos del alumno y su promedio de notas

#include "iostream.h"

#include "iomanip.h"

struct Alumno { int codigo;

char curso[50];

int nota1;

int nota2;

int nota3;

float promedio;

};

Alumno AlumnoSec[2];

int main()

{ int i, n;

cout<<"cuantos datos desea ingresar? ";

cin>>n;

for(i=1;i<=n;i++)

{ cout<<"Ingrese el código del estudiante "<<i<<" ";

cin>>AlumnoSec[i].codigo;

cout<<"Ingrese el curso del estudiante: ";

cin>>AlumnoSec[i].curso;

cout<<"Ingrese nota1: ";

cin>>AlumnoSec[i].nota1;

cout<<"Ingrese nota2: ";

cin>>AlumnoSec[i].nota2;

cout<<"Ingrese nota3: ";

cin>>AlumnoSec[i].nota3;

AlumnoSec[i].promedio =

(AlumnoSec[i].nota1+AlumnoSec[i].nota2+

AlumnoSec[i].nota3)/3.0;

cout<<"el promedio es:"<<AlumnoSec[i].promedio<<endl;

}

cout<<setw(20)<<"CODIGO";

cout<<setw(20)<<"CURSO";

cout<<setw(20)<<"PROMEDIO"<<endl;

...

Descargar como (para miembros actualizados)  txt (5 Kb)  
Leer 1 página más »
Disponible sólo en Clubensayos.com