UNIDAD 5: REGISTROS Y ARCHIVOS SECUENCIALES

TEMA LINUX GCC 2: ESTRUCTURAS O REGISTROS

En este TEMA LINUX GCC exploramos en C++ la estructura mas común de representación de datos la llamada estructura.

Variables simples o escalares pueden almacenar un datum 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.

Ej:

struct alumno

nombre → campo1

direccion → campo2

edad → campo3

etc

EL FORMATO GENERAL DE UNA ESTRUCTURA ES:

tipo de almacenamiento struct

{

tipo campo1;

tipo campo2;

}lista de variables;

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.

Prog18.html


<HTML>

<FORM ACTION=/~tusitio/cgi-bin/prog18.cgi METHOD=post>

MATRICULA:<INPUT TYPE=text NAME=MATRICULA><BR>

NOMBRE...:<INPUT TYPE=text NAME=NOMBRE><BR>

EDAD.....:<INPUT TYPE=text NAME=EDAD><BR>

<INPUT TYPE=submit VALUE=OK>

</FORM></HTML>

corrida:

image66.jpg

prog18.cpp


#include <string>

#include <iostream>

#include <lcnet.h>

using namespace std;

struct {

int matricula;

string nombre;

int edad;}alumno;

int main() {

// captura de campos

alumno.matricula = getinteger("MATRICULA");

alumno.nombre= getstring("NOMBRE");

alumno.edad = getinteger("EDAD");

// area de operaciones

alumno.edad = alumno.edad * 12;

// area de construccion de pagina de salida

cout << "Content-type: text/html\n\n";

cout << "<html>" << endl;

cout << " MATRICULA =" << alumno.matricula << "<br>" << endl;

cout << " NOMBRE =" << alumno.nombre << "<br>" << endl;

cout << " MESES =" << alumno.edad << "<br>" << endl;

cout << "</html>" << endl;

exit (0);

}

corrida:

image67.jpg

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

TAREA Crear un registro de alumno con 3 califaciones.

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

TAREA Capturar un registro local de un producto en el principal, mandarlo como parametro a un procedimiento y desplegarlo.

TAREA Capturar un registro local en el principal, mandar el sueldo a una funcion que le aumente el 25% y desplegar en el principal.

TAREA Capturar en principal un registro local de cuentas por cobrar, mandar a un procedimiento e imprimir un aviso si el saldo esta atrasado.

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad