ProgramacionFacil

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.

 




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