Registros En Lenguaje C

  • Uploaded by: Ruben Alejandro Aleman
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Registros En Lenguaje C as PDF for free.

More details

  • Words: 854
  • Pages: 7
Loading documents preview...
UNIDAD 4.- REGISTROS UNIDAD 4.- REGISTROS OBJETIVOS: ¾ Que el alumno comprenda el concepto de dato, los seleccione adecuadamente y los organice en forma estructurada. ¾ Que comprenda el concepto de estructura de datos y describa las aplicaciones adecuadas de los registros. ¾ Que represente adecuadamente los registros. TEMAS: 4.1. Definición, lectura e impresión. 4.2. Representación en lenguaje C. 4.3. Registros Jerarquizados. 4.4. Array de registros. 4.5. Registros de array.

Cátedra: Algoritmos y Estructuras de Datos – 1

UNIDAD 4.- REGISTROS 4.1. DEFINICIÓN Un registro, en programación, es un tipo de dato estructurado estático, donde sus elementos pueden ser de distinta naturaleza, es decir que son heterogéneos; los mismos se denominan campos; y pueden ser, o bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos.

4.2. REPRESENTACIÓN EN LENGUAJE C Los registros son llamados también estructuras en lenguaje C, y cada uno de sus elementos se denominan miembros. Sintaxis: struct [] { [ <nombre_variable>[,<nombre_variable>,...]]; . }; El identificador de la estructura es un nombre opcional para referirse a la misma. En el interior de una estructura, entre las llaves, se pueden definir todos los elementos que se consideren necesarios, del mismo modo que se declaran las variables. Las estructuras pueden referenciarse completas, usando su nombre, y también se puede acceder a los elementos en el interior de la estructura usando el operador de selección (.), un punto, que se denomina selector de campo. También pueden declararse más variables del tipo de estructura en cualquier parte del programa, de la siguiente forma: [struct] [,...];

LECTURA E IMPRESIÓN Para ingresar o mostrar los datos de un registro, es necesario hacerlo campo por campo. En el siguiente ejemplo se ingresan y muestran los campos código, descripción y precio de un artículo. PROGRAMA PARA LECTURA E IMPRESIÓN DE LOS ELEMENTOS DE UN REGISTRO #include <stdio.h> #include #include <string.h> Cátedra: Algoritmos y Estructuras de Datos – 2

UNIDAD 4.- REGISTROS struct registro { int codigo; char descri[30]; float precio; }; main (void) { registro reg; printf("Ingrese los datos del registro\n\n"); printf("Codigo: "); scanf("%d",®.codigo); printf("Descripcion: "); scanf("%s",reg.descri); printf("Precio: "); scanf("%f",®.precio); printf("\n\nLOS DATOS INGRESADOS SON:\n\n"); printf("Codigo: %d",reg.codigo); printf("\nDescripcion: "); puts(reg.descri); printf("Precio: %.2f",reg.precio); getch(); }

4.3. REGISTROS JERARQUIZADOS Un registro jerarquizado también denominado en lenguaje C como estructura anidada, es un registro en el cuál por lo menos uno de sus campos es a su vez un registro. Ejemplo: Al registro del artículo que tenía los campos código, descripción y precio le agregamos el campo fecha de vencimiento; el cuál a su vez es un registro que posee los campos día, mes y año. codigo

descri

precio

fec dia

mes

anio

PROGRAMA PARA LECTURA E IMPRESIÓN DE LOS ELEMENTOS DE UN REGISTRO JERARQUIZADO #include <stdio.h> #include #include <string.h>

Cátedra: Algoritmos y Estructuras de Datos – 3

UNIDAD 4.- REGISTROS struct fecha { int dia,mes,anio; }; struct registro { int codigo; char descri[30]; float precio; fecha fec; }; main (void) { registro reg; printf("Ingrese los datos del registro\n\n"); printf("Codigo: "); scanf("%d",®.codigo); printf("Descripcion: "); scanf("%s",reg.descri); printf("Precio: "); scanf("%f",®.precio); printf("\n\nFecha de Vto: \n"); printf("Dia: "); scanf("%d",®.fec.dia); printf("Mes: "); scanf("%d",®.fec.mes); printf("Año: "); scanf("%d",®.fec.anio); printf("\n\nLOS DATOS INGRESADOS SON:\n\n"); printf("Codigo: %d",reg.codigo); printf("\nDescripcion: "); puts(reg.descri); printf("Precio: %f",reg.precio); printf("\n\nFecha de Vto: \n"); printf("Dia: %d",reg.fec.dia); printf("\nMes: %d",reg.fec.mes); printf("\nAño: %d",reg.fec.anio); getch(); }

4.4. ARRAY DE REGISTROS Un array de registros es un arreglo (vector, matriz, arreglo multidimensional) cuyos elementos son registros. Este tipo de estructura surge para poder conservar en memoria los valores que se ingresan de todos los registros, caso contrario se tiene en memoria los valores sólo del último registro ingresado.

Cátedra: Algoritmos y Estructuras de Datos – 4

UNIDAD 4.- REGISTROS V codigo

descri

codigo

precio

V[i]

descri

precio

registro

Ejemplo: Ingresar y mostrar un array (vector) de registros de 2 elementos; cuyos registros tendrán la siguiente configuración: código, descripción y precio. PROGRAMA PARA INGRESAR Y MOSTRAR UN ARRAY DE REGISTROS #include <stdio.h> #include #include <string.h> struct registro { int codigo; char descri[30]; float precio; }; main (void) { registro v[2]; int i; for (i=0;i<2;i++) { clrscr(); printf("Ingrese los datos del registro %d\n\n",i); printf("Codigo: "); scanf("%d",&v[i].codigo); printf("Descripcion: "); scanf("%s",v[i].descri); printf("Precio: "); scanf("%f",&v[i].precio); } for (i=0;i<2;i++) { clrscr(); printf("\n\nLOS DATOS INGRESADOS SON REGISTRO %d:\n\n",i); printf("Codigo: %d",v[i].codigo); printf("\nDescripcion: "); puts(v[i].descri); printf("Precio: %.2f",v[i].precio); Cátedra: Algoritmos y Estructuras de Datos – 5

UNIDAD 4.- REGISTROS getch(); } }

4.5. REGISTROS DE ARRAY Un registro de array es un registro en el cual por lo menos uno de sus campos es un arreglo. Ejemplo: Un registro que posee los campos: ƒ Legajo ƒ Notas (es un vector de 5 elementos) registro

campo notas

legajo

5

6

7

8

vector notas cada elemento es notas[i] PROGRAMA PARA INGRESAR Y MOSTRAR UN

REGISTRO DE ARRAY

#include <stdio.h> #include #include <string.h> struct registro { int legajo; int notas[5]; }; main (void) { registro reg; int j; printf("Ingrese los datos del registro\n\n"); printf("Legajo: "); scanf("%d",®.legajo); for (j=0;j<5;j++) { Cátedra: Algoritmos y Estructuras de Datos – 6

5

UNIDAD 4.- REGISTROS printf("Nota %d: ",j); scanf("%d",®.notas[j]); } printf("\n\nLos datos ingresados del registro\n\n"); printf("Legajo: %d",reg.legajo); for (j=0;j<5;j++) { printf("\nNota %d: %d",j,reg.notas[j]); } getch(); }

Cátedra: Algoritmos y Estructuras de Datos – 7

Related Documents


More Documents from ""