6. Registros en C++

6
UNIDAD 6: C++ REGISTROS TEMA : C++ ESTRUCTURAS O REGISTROS En este tema exploramos en C la estructura mas común de representación de datos la llamada estructura. Variables simples o escalares pueden almacenar un dato de información y arreglos pueden almacenar conjuntos de ellos del mismo tipo y al mismo tiempo, estos dos mecanismos pueden manejar una gran variedad de situaciones pero a menudo se necesita trabajar sobre datos de diversos tipos en este caso ni variables escalares ni arreglos son adecuados. Para resolver este problema C provee de un tipo de dato especial llamado estructura. Los elementos individuales de una variable estructura reciben el nombre de campos. EL FORMATO GENERAL DE UNA ESTRUCTURA ES: tipo de almacenamiento struct { tipo campo1; tipo campo2; }lista de variables; Ejemplo 1: struct {

Transcript of 6. Registros en C++

Page 1: 6. Registros en C++

UNIDAD 6: C++ REGISTROS

TEMA : C++ ESTRUCTURAS O REGISTROS

En este tema exploramos en C la estructura mas común de representación de datos la llamada estructura.

Variables simples o escalares pueden almacenar un dato de información y arreglos pueden almacenar conjuntos de ellos del mismo tipo y al mismo tiempo, estos dos mecanismos pueden manejar una gran variedad de situaciones pero a menudo se necesita trabajar sobre datos de diversos tipos en este caso ni variables escalares ni arreglos son adecuados.

Para resolver este problema C provee de un tipo de dato especial llamado estructura.

Los elementos individuales de una variable estructura reciben el nombre de campos.

EL FORMATO GENERAL DE UNA ESTRUCTURA ES:

tipo de almacenamiento struct

{

tipo campo1;

tipo campo2;

}lista de variables;

Ejemplo 1:

struct {

int matricula;

char nombre[30];

int edad;}alumno;

Page 2: 6. Registros en C++

Ejemplo 2:

struct DIREC{

char nombre[35];

char tele[20];

} ;

Ejemplo 3.

struct empleado{

char cedula [10];

char nombre[25];

char apellido[25];

char telefono[12];

char eps[25];

}reg;

Es el registro completo quien se declara en cualquiera de los lugares adecuados para ello.

Son los campos del registro a quienes se les va a asignar, inicializar, capturar, etc y de esta manera a los campos se les considera como variables normales.

Para indicar a “C” durante cualquier proceso que la variable a utilizar es un campo de una estructura se utiliza el siguiente formato.

nomregistro.nombredelcampo

Ejemplo 1.

scanf("%d",&alumno.matricula);

Ejemplo2:

cout<< reg.cedula;

Page 3: 6. Registros en C++

#include <cstdlib>#include <iostream>#include <stdio.h>

using namespace std;

struct {int matricula;char nombre[30];int edad;}alumno;

int main(int argc, char *argv[]){ system ("cls"); // captura de campos printf("Ingrese matricula Estudiante:");scanf("%d",&alumno.matricula);getchar();

printf("Ingrese nombre Estudiante :");gets(alumno.nombre);

printf("Ingrese edad Estudiante :");scanf("%d",&alumno.edad);

// area de operaciones

alumno.edad = alumno.edad * 12;

// area de salida

printf("MATRICULA =%d \n",alumno.matricula); printf("NOMBRE =%s \n",alumno.nombre); printf("EDAD EN MESES =%d \n",alumno.edad); getchar();getchar(); system("PAUSE"); return EXIT_SUCCESS;}

Las operaciones mas elementales con los campos de una estructura incluyen captura e inicialización.

TAREAS PROGRAMACION C++

1.-Crear un registro de alumno con 3 calificaciones y que se ejecute un numero indeterminado de veces.

2.-Declarar un registro de empleado capturar y desplegar un numero indeterminado de veces.

Page 4: 6. Registros en C++

Registros y Arreglos

Almacenar en un arreglo de tipo registro los datos principales de un alumno del poly (código, nombre, fecha de nacimiento, altura, sexo, fecha de ingreso), calcular su edad al día actual almacenarla en un campo nuevo llamado edad , agrégale la línea para calcular la edad?

#include <stdio.h>#include <stdlib.h>struct estruc_edad{char fec_nac[10], fec_act[10];int edad;};struct estructura_alumno{char cod[9], nombre[45], fec_ing[9], sexo;float alt;struct estruc_edad edad;};struct estructura_alumno alumno;

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

printf("nombre\n"); gets(alumno.nombre);printf("codigo: \n");gets(alumno.cod);printf("fecha de nacimiento.\n");gets( alumno.edad.fec_nac);printf("fecha de ingreso: \t");gets(alumno.fec_ing);printf("altura: \n");scanf("%f",&alumno.alt);printf("sexo: \n");scanf("%s", &alumno.sexo);printf("fecha actual: \n");scanf( "%s", alumno.edad.fec_act);printf("edad : %d anos \n", alumno.edad.edad);system("PAUSE"); return 0;}