Está en la página 1de 12

Estructura de Datos / C++

Dra. Cristina Maya Padrón


cristina.mayapd@uanl.edu.mx
Estructura de Datos / C++

Programación orientada
a objetos – C++
Estructura de Datos / C++

Estructuras
Estructura de datos / C++ Dra. Cristina Maya Padrón

Estructuras

Una estructura es un tipo de dato definido por el usuario, que se debe declarar
antes de que se pueda utilizar. Una estructura es una colección de uno o más tipos
de elementos denominados miembros, cada uno de los cuales puede ser un tipo de
dato diferente. Puede contener cualquier número de miembros, cada uno de los
cuales tiene un nombre único, denominado nombre del miembro. Los miembros de
las estructuras pueden ser arrays. Del mismo modo que sucede en otras
situaciones, en C++ existen dos conceptos similares a considerar, declaración y
definición.

Lenguaje C++ |
Estructura de datos / C++ Dra. Cristina Maya Padrón

Estructuras

Declaración de una estructura.


Una declaración especifica simplemente el nombre y el formato de la estructura de
datos, pero no reserva almacenamiento en memoria. El formato de la declaración
es:
struct <nombre de la estructura>
{
<tipo de dato miembro1> <nombre miembro1>
<tipo de dato miembro2> <nombre miembro2>
...
<tipo de dato miembron> <nombre miembron>
};

Lenguaje C++ |
Estructura de datos / C++ Dra. Cristina Maya Padrón

Estructuras

Definición de variables de estructura.


Una definición de variable para una estructura dada, crea un área en memoria en
donde los datos se almacenan de acuerdo al formato estructurado declarado en la
definición de la estructura.

Las variables de estructuras se pueden definir de dos formas:


1. Listándolas inmediatamente después de la llave de cierre de la declaración de la
estructura.
2. Listando el tipo de la estructura creada seguida por las variables
correspondientes en cualquier lugar del programa antes de utilizarlas.

A una estructura se accede utilizando una variable o variables que se deben definir
después de la declaración de la estructura.

Lenguaje C++ |
Estructura de datos / C++ Dra. Cristina Maya Padrón

Punteros #include <cstdlib>


#include <iostream>
PRACTICA1 #include <math.h>
Programa: Estructura using namespace std;
de datos de una struct datosPersona
persona. {
string nombre;
char inicial;
Las variables de estructuras se int edad;
pueden definir de dos formas: float nota;
1. Listándolas inmediatamente } persona;
después de la llave de cierre de la
declaración de la estructura. int main(int argc, char *argv[])
{
persona.nombre = "Cristina";
persona.inicial = 'C';
persona.edad = 20;
persona.nota = 9.5;

cout<<"El nombre es: "<<persona.nombre<<endl;


cout<<"La inicial es: "<<persona.inicial<<endl;
cout<<"La edad es: " <<persona.edad<<endl;
cout<<"La nota es: "<<persona.nota<<endl;

system("PAUSE");
}

Lenguaje C++ | Punteros


Estructura de datos / C++ Dra. Cristina Maya Padrón

continua -> #include <cstdlib>


#include <iostream>
Punteros #include <math.h>
PRACTICA2 #include <string.h>
using namespace std;
//<-checar

Programa: Estructura
struct libro // nombre de la estructura
de datos de libros. {
char titulo[30];
Las variables de estructuras se char autor[30];
pueden definir de dos formas: char editorial[30];
2. Listando el tipo de la estructura int anyo;
creada seguida por las variables float precio;
correspondientes en cualquier char fecha_compra[8];
lugar del programa antes de };
utilizarlas.
libro l1, l2, l3; //son variables de tipo libro

int main(int argc, char *argv[])


{
strcpy(l1.titulo,"Programacion en C");
strcpy(l1.autor,"Joyanes");
strcpy(l1.editorial,"McGrawHill");
l1.anyo=2006;
l1.precio=550.50;
strcpy(l1.fecha_compra,"24/07/18");

cout<<"IMPRESION DE DATOS DEL LIBRO \n";


cout<<l1.titulo<<endl;
cout<<l1.autor<<endl;
cout<<l1.editorial<<endl;
cout<<l1.anyo<<endl;
cout<<"$"<<l1.precio<<endl;
Lenguaje C++ | Punteros cout<<l1.fecha_compra<<endl;
Estructura de datos / C++ Dra. Cristina Maya Padrón

cout<<"\nNombre del libro\t";


Punteros gets(l2.titulo);
PRACTICA2 cout<<"Autor\t";
gets(l2.autor);
Programa: Estructura cout<<"editorial\t";
gets(l2.editorial);
de datos de libros. cout<<"Año de publicación\t";
cin>>l2.anyo;
Las variables de estructuras se cout<<"Precio\t$";
pueden definir de dos formas: cin>>l2.precio;
2. Listando el tipo de la estructura cout<<"Fecha de compra\t";
creada seguida por las variables cin>>l2.fecha_compra;
correspondientes en cualquier
lugar del programa antes de cout<<"\nIMPRESION DE DATOS DEL LIBRO \n";
utilizarlas. cout<<l2.titulo<<endl;
cout<<l2.autor<<endl;
cout<<l2.editorial<<endl;
cout<<l2.anyo<<endl;
cout<<"$"<<l2.precio<<endl;
cout<<l2.fecha_compra<<endl;

system("PAUSE");
}

Lenguaje C++ | Punteros


Estructura de datos / C++ Dra. Cristina Maya Padrón

continua -> #include <cstdlib>


#include <iostream>
Punteros #include <math.h>
PRACTICA3 #include <string.h>
using namespace std;
Programa: Arrays de
struct cliente
estructuras. {
char nombre[30];
int numUnidades;
Hay un total de 10 clientes. Los float precio;
clientes tienen un nombre, el char estado;
};
número de unidades
solicitadas de un determinado int main(int argc, char *argv[])
{
producto, el precio de cada unidad cliente listado[10];
y el estado en que se encuentra: for (int i=0; i<10; i++)
{
moroso, atrasado, pagado. El cout <<"Introduzca nombre del cliente: \n";
programa lee la información de los cin.getline (listado[i].nombre, 30);
cout <<"Introduzca el número de unidades solicitadas: \n";
10 clientes cin >> listado[i].numUnidades;
cout << "Introduzca el precio de cada unidad: \n";
Se define la estructura cliente siguiendo las cin >> listado[i].precio;
especificaciones y con ella se declara un array que cout << "Introduzca el estado del cliente (m/a/p) \n";
almacenará la información de cada cliente. El array cin >> listado[i].estado;
de estructuras funciona como una base de datos cin.ignore(); //limpiar el buffer de entrada por numero
relacional, en la que cada miembro de la estructura }
funciona como una columna de la base de datos y
cada estructura corresponde a una línea o registro
de dicha base.
Lenguaje C++ | Punteros
Estructura de datos / C++ Dra. Cristina Maya Padrón

for (int i=0; i<3; i++)


{
Punteros cout<<"\nCliente "<<i+1<<endl;
PRACTICA3 cout<<listado[i].nombre<<endl;
cout<<listado[i].numUnidades<<endl;
Programa: Arrays de cout<<listado[i].precio<<endl;
cout<<listado[i].estado<<endl;
estructuras. }

Hay un total de 10 clientes. Los system("PAUSE");


clientes tienen un nombre, el }
número de unidades
solicitadas de un determinado
producto, el precio de cada unidad
y el estado en que se encuentra:
moroso, atrasado, pagado. El
programa lee la información de los
10 clientes

Se define la estructura cliente siguiendo las


especificaciones y con ella se declara un array que
almacenará la información de cada cliente. El array
de estructuras funciona como una base de datos
relacional, en la que cada miembro de la estructura
funciona como una columna de la base de datos y
cada estructura corresponde a una línea o registro
de dicha base.
Lenguaje C++ | Punteros
Estructura de datos / C++ Dra. Cristina Maya Padrón

Bibliografía

Joyanes, L. & Sánchez, L. . (2006). Programación en C++. Un enfoque práctico. Serie Schaum. Madrid:
McGrawHill.

Lenguaje C++ | Punteros

También podría gustarte