Вы находитесь на странице: 1из 27

ESTRUCTURAS

Definicin
Una variable de estructuras es un identificador que permite acceder a una coleccin de variables de diversos tipos. Puede contener variables y declaraciones de funciones.

Creacin de una estructura


Crear una estructura es definir un nuevo tipo de datos. Los elementos de una estructura reciben el nombre de miembros(campo del registro).

DECLARACION DE ESTRUCTURAS (cont.)


struct ns { T1 C1; T2 C2; . TK CK;} lista de estructuras; donde: ns: Nombre de la estructura C1, C2,..CK : componentes del tipo de estructura T1, T2,..TK : Tipos Ejemplo struct Empleado{ char nombre[30]; char apellido [30]; float salario;} ; empleado var1,var2;

DECLARACION DE ESTRUCTURAS (cont.)


Ejemplo 2: Las variables tambin pueden ser dclaradas struct Empleado{ char nombre[30]; char apellido [30]; float salario;} var1,var2; ejemplo 3: struct Ficha{ char nombre[30]; char direccion [50]; long telefono; fecha fecha_alta;}; ficha persona; Este ejemlo define la variable persona en la que el miembro de fecha_alta es a su vez una estructura.

DECLARACION DE ESTRUCTURAS (cont.)


Ejercicio Nro 1: disear una estructura que permita conservar a los pacientes hospitalizados en una clinica. Ejercicio Nro 2: disear una estructura que permita registrar a los pasajeros una linea aerea. Ejercicio Nro 3: disear una estructura que permita conservar a los clientes de un Hotel.

Ejercicio Nro 4: disear una estructura que permita registrar la programacin semanal de un concesionario

OPERACIONES CON ESTRUCTURAS. Con una variable declarada como estructura, se puede realizarse las siguientes operaciones: Coger su direccin por medio del operador &. Acceder a uno de sus miembros. Asignar una estructura a otra con el operador de asignaccin.

ARRAYS DE ESTRUCTURAS. Cuando los elementos de un array son de tipo estructura, el array recibe el nombre de array de estructuras o array de registros.
Ejemplo: struct alumno{ char nombre[15]; int edad; }lista[5];

7.1.Ingresa nombre, apellido y salario en la estructura dato.


#include <conio.h> #include <fstream.h> struct ficha{ char nombre[15]; char apellido[30]; float salario; }dato; void main() { cout<<"ingrese nombre, apellido, salario: "<<"\n"; cin>>dato.nombre>>dato.apellido>>dato.salario; cout<<"el salario de "<<dato.apellido; cout<<" sera: "<<dato.salario<<"\n"; getch(); }

7.2. Ingresar arrays en forma de estructura.


#include <conio.h> #include <fstream.h> struct alumno{ char nombre[15]; int edad; }lista[5]; int i; void main(void) { for(i=0;i<3;i++) { cout<<"ingrese nombre: "<<i+1<<"\n"; cin>>lista[i].nombre;

7.2. Ingresar arrays en forma de estructura.


(Cont.)
cout<<"ingrese edad: "<<i+1<<"\n"; cin>>lista[i].edad;

} for (i=0;i<3;i++) { cout<<"\nnombre "<<i+1; cout<<":"<<lista[i].nombre; cout<<"\nedad "<<i+1; cout<<":"<<lista[i].edad; } getch(); }

7.3. Estructuras y funciones.


#include <conio.h> #include <fstream.h> struct alumnos{ int codigo; char nombre[15]; int nota; }datos [10]; int aprob, desaprob; void ingresar(void); void mostrar(void);

7.3. Estructuras y funciones.(cont.)


main() { ingresar(); mostrar(); return 0; } void ingresar(void) { int i; for(i=0;i<3;i++) { cout<<"ingrese nombre: "<<i+1<<"\n"; cout<<"codigo: ";

7.3. Estructuras y funciones.(cont.)


cin>>datos[i].codigo; cout<<"Nombre: "; cin>>datos[i].nombre; cout<<"Nota: "; cin>>datos[i].nota; } for(i=0;i<3;i++) if(datos[i].nota>=11) aprob++; else desaprob++; }

7.3. Estructuras y funciones.(cont.)


void mostrar(void) { int i; cout<<" Salida de Datos"<<"\n"; cout<<"_________________"<<"\n";

for(i=0;i<3;i++) { cout<<"Alumnos No: "<<i+1<<"\n"; cout<<"Codigo: "<<datos[i].codigo<<"\n"; cout<<"Nombre: "<<datos[i].nombre<<"\n"; cout<<"Nota: "<<datos[i].nota<<"\n"; }

7.3. Estructuras y funciones.(cont.)


cout<<" Total aprobados y desaprobados"<<"\n"; cout<<"________________________________"<<"\n"; cout<<"Aprobados: "<<aprob<<"\n"; cout<<"desaprobados: "<<desaprob<<"\n"; getch(); }

CADENA DE CARACTERES

Definicin
Es un conjunto de caracteres incluido el blanco, que se almacena en un rea contigua de la memoria. Longitud de una cadena.- Es el nmero de caracteres que contiene. Ej: AMERICA DEL SUR longitud = 15 Cadena vaca o nula.- Es la cadena que no contiene ningn carcter; su longitud es cero. Subcadena.- Es una cadena de caracteres que ha sido extraida de otra de mayor longitud.

Funciones standard de cadenas en C++


STRLEN (s) Devuelve la longitud en bytes de cadena s. Size_t strlen(char *cadena) Copia n caracteres de la cadena t en la cadena s y devuelve un puntero a la cadena s. Si n es mayor que la longitud de la cadena t se aade caracteres nulos a la cedena s. char *strncpy(char *cadena1, cont char * cadena2, size_t n);

STRCPY(s,t,n)

Funciones standard de cadenas en C++


STRCMP(s,t,n) Compara los primero n caracteres de cadena s y t,distinguiendo mayusculas de minisculas retorna: valor < 0 si s < t valor = 0 si s = t valor > 0 si s > t int strcmp(const char *cadena1, const char *cadena2, size_t n) aade los primeros n caracteres de la cadena t a la cadena s y devuelve un puntero a s

STRCAT(s,t, n)

Funciones standard de cadenas en C++


char *strncat(char *cadena1, const char * cadena2, size_t n); STRSTR(s,t) Encuentra primera ocurrencia de t en s y devuelve un puntero , o un valor null(0) si no se encuentra. chr *strstr(const *cadena1, const char *cadena2); STRRCHR(s,c) Devuelve un puntero a la ltima ocurrencia de c en la cadena s o un valor null(0) si el carcter no se encuentra. char *strrchr(const char *cadena, int c);

Funciones standard de cadenas en C++


STRSPN(s,t) Encuentra la posicin del primer caracter de la cadena s, que no pertenece al conjunto de caracteres contenido en la cadena t. size_t strspn(const char *cadena1, conts char *cadena2);

Funciones para conversin de datos ATOI(s) convierte cadena numrica a entero y devuelve este valor convierte cadena numrica a tipo long y devuelve este valor convierte cadena numrica a dato flotante y devuelve este valor Sustituye todos los caracteres de s por el carcter car. Strset(char *cadena, int c);

ATOL(s)
ATOF(s) STRSET(s,car)

7.4. Uso de cadenas de caracteres.


#include <conio.h> #include <stdio.h> #include <iostream.h> #include <string.h> void main () { char palabra[20]; int i=0; cout<<"ingrese una palabra......"; cin>>palabra; while (palabra[i]!=(char)"\0") { switch(palabra[i]) { case 'A':palabra[i]='C';break; case 'a':palabra[i]='C';break;

7.4. Uso de cadenas de caracteres. (cont.)


case 'E':palabra[i]='F';break; case 'e':palabra[i]='F';break; case 'I':palabra[i]='K';break; case 'i':palabra[i]='K';break; case 'O':palabra[i]='Q';break; case 'o':palabra[i]='Q';break; case 'U':palabra[i]='W';break; case 'u':palabra[i]='W';break;} i++; }; cout<<"\n"; cout<<"La palabra resultante es"; cout<<palabra; getch();

7.5. INVIERTE LA PALABRA(cont.)


#include <conio.h> #include <stdio.h> #include <iostream.h> #include <string.h> void main () { char palabra[50], auxiliar[50]; int longitud, i; cout<<"ingrese una palabra......"; cin>>palabra; longitud=strlen(palabra); i=0; while (i<longitud) { auxiliar[i]=palabra[longitud-1-i]; i++; };

7.5. INVIERTE LA PALABRA(cont.)


auxiliar[i]=' '; cout<<"\n"; cout<<"\nEl resultado del programa es "; for (i=0;i<=longitud;i++) {cout<<auxiliar[i];} getch();

Вам также может понравиться