Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

lunes, 3 de noviembre de 2014

Registros

0

Continuación tema 6

Ejemplo: números complejos 
Aqui voy a ser mala y cuando Inazio lo suba al blog lo copio y pego, porque muero de dolor de cabeza si copio esa letrita, que llevo toda la mñn para terminar el trabajo de sistemas de evolución de los sistemas operativos. :( 

Vector de registros, registro con vectores
Los tipos y los mecanismos para definir tipos los puedo combinar a mi antojo según mis necesidades.
Por ejemplo, podría tener un vector (o una matriz, incluso de dimensión superior a 3), para la que cada componente fuera un registro que guardara varios datos de tipos diferentes. Uno de ellos podría ser a su vez otro vector, u otro registro y así indefinidamente.
También podría tener un registro y que uno de sus campos fuera un vector pudiendo ser cada componente lo que me pudiera interesar, según el problema a resolver.
Por ejemplo, podría tener un vector de hospitales, cada hospital ser un registro donde guardo nombre, dirección, y un vector de médicos que trabajan en él y otro vector de pacientes que estoy atendiendo, y otro vector de habitaciones. Cada una de esas componentes sería de nuevo un registro con la información relevante que quisiera guardar sobre ellos.
El acceso a estas estructuras de datos se realiza encadenando operadores, por ejemplo, podría encontrar en mi programa expresiones como esta: hospitales [36], medicos [17], especialidad. Estaría accediendo a la especialidad que tiene el médico 17 del hospital 36.

...Tema 5
Registro en C: veámoslo con ejemplos (1)
strucu Structure1
{
     char c;
     int i;
     float f;
     double d;
};
int main ()
{
     struct Structure1 s1, s2;
     s1.c='a';
     s1.i=1;
     s1.f=3.14;
     s1.d=0.00093;
     s2.c='a';
     s2.i=1;
     s2.f=3.14;
     s2.d=0.00093;
}

Con registros si es necesario definirse "el tipo" antes que variables de ese tipo, para ello tenemos que usar la palabra reservada "struct".
Al declarar las variables de ese tipo, también hay que incluir la palabra struct.
En main (), se crean dos instancias de Structure1: s1 y s2. Cada una de ellas tiene su versión propia y separada de c, i, f y d. Dr modo que s1 y s2 representan bloques de variables completamente independientes.

Registros en C: veámoslo con ejemplos (2)
"Es una tontería"
¿Porque pone el mismo algo que no quiere que sepamos?

Registros en C: veámoslo con ejemplos (3)
Cuando pasemos un parámetro de tipo struct por referencia, dentro de la función la forma de acceder a cada campo sera usando '->' en vez de '.'.

typedef struct
{
     int i;
     float f;
}MITIPO;
void mifuncion(MITIPO*miparametro)
{
     ...
     miparametro->i=3;
     miparametro->f=6.0;
}
main ()
{
     MITIPO mivariable;
     ...
     mifuncion(&variable):
     ... mivariable.i...
     ...
}
y ahora nos pone un ejemplo con punteros, sin saber lo que es un puntero :/

Ejercicio
Rehaz el ejemplo validar una fecha, haciéndolo por referencia.

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)