Sunteți pe pagina 1din 24

UNIVERSIDAD NACIONAL DEL CALLAO

LENGUAJE DE PROGRAMACIN I
ARREGLO DE ESTRUCTURAS

MG. BERTILA GARCA DAZ

REGISTRO O ESTRUCTURA
Una estructura contiene mltiple variables, llamadas campos, que pueden ser de tipos diferentes, lgicamente relacionados. La estructura es importante para la creacin de programas potentes, tales como archivos, bases de datos.

REGISTRO O ESTRUCTURA
SINTAXIS struct nombre_struct { tipo_dato campo1 tipo_dato campo2 tipo_dato campon} variable_struct

REGISTRO O ESTRUCTURA
Ejemplo: Representar CLIENTE.
CODIGO NOMBRE TELEFONO SALDO

struct cliente { float codigo; char nombre [50]; float telefono; float saldo; } dato;

ARREGLO DE ESTRUCTURAS
Es un conjunto de estructuras. Este tipo de arreglos se caracterizan por tener un solo ndice. Los arrays de estructuras son ideales para almacenar un archivo completo de empleados, un archivo de alumnos. En C++ se utilizan arreglos de estructuras como un mtodo para almacenar datos en una archivo de disco.

ARREGLO DE ESTRUCTURAS
Cdigo
dato [0]

Nombre

Telfono

Saldo

001 dato[0].codigo

ACEVEDO CARMEN 6241966 dato[0].nombre dato[0].telefono


ARNAO BRYAN dato[1].nombre CANDIA MIGUEL dato[2].nombre 6233678 dato[1].telefono 5236616 dato[2].telefono

200 dato[0].saldo
50 dato[1].saldo 1000 dato[ 2].saldo

002 dato [1] dato[1].codigo


dato [2]

003 dato[2].codigo

ARREGLO DE ESTRUCTURAS
OPERACIONES CON ESTRUCTURAS

1.- ASIGNACION dato[0].saldo = 200

S= dato[0].saldo + dato[1].saldo + dato[2].saldo //1250


dato[0].saldo = dato[0].saldo + 100 //300

EJEMPLO N 1
/* Ingresa los codigos, nombres y notas de 10 alumnos y luego muestra cuntos estn aprobados y cuntos desaprobados*/

#include<iostream.h> #include<iomanip.h> #include<stdio.h> //variables globales struct alumnos { int codigo; char nombre[15]; int nota; }datos [10]; void mostrar(void); void ingresar(void);
{

EJEMPLO N 1
main() { ingresar(); mostrar(); return 0; }

EJEMPLO N 1
void ingresar(void) { int i; for(i=0;i<5;i++) { cout<<"ingrese alumno Nro "<<(i+1)<<":"<<endl; cout<<"\ncodigo:";cin>>datos[i].codigo; cout<<"Nombre:";gets(datos[i].nombre); cout<<"\nNota:";cin>>datos[i].nota; } }

void mostrar(void) { int i ,aprob=0,desaprob=0; cout << setiosflags(ios::left); cout<<"\n\t\t LISTADO DE ALUMNOS"<<endl; cout<<setw(10)<<"Nro"<<setw(10)<<"CODIGO"<<setw(30)<<"NOMBRE"<<setw(10 )<<"NOTA"<<endl; for(i=0;i<5;i++) { cout<<setw(10)<<(i+1)<<setw(10)<<datos[i].codigo<<setw(30)<<datos[i].nombre<< setw(10) <<datos[i].nota<<endl; if (datos[i].nota >= 11) aprob++; else desaprob++; } cout<<"\n Aprobados: "<<aprob<<endl; cout<<"\n Desaprobados: "<<desaprob<<endl; }

EJEMPLO N 1

AL EJECUTAR

EJEMPLO N 2
/* estru9 ordena alfabticamente 5 elementos de un arreglo*/ /* usa el mtodo de la burbuja*/ #include <stdio.h> #include <conio.h> #define NUM_PER 5 #include<string.h> #include<ctype.h> #include<iostream.h> #include<iomanip.h>

EJEMPLO N 2
struct persona { char nombre[30]; int edad; char sexo; }A[NUM_PER]; void otro_reg(); void ordenar(); int i,j;

EJEMPLO N 2
void main() { char opcion; do{clrscr(); //Pantalla Principal cout<<"ELIJA UNA OPCION CON EL TECLADO"<<endl; cout<<"\n(A) Ingresar Datos"; cout<<"\n(L) Ordenar"; cout<<"\n(T) Terminar\n\n\n\n\n\n"; opcion = tolower(getche()); switch(opcion) { case 't':break; case 'a': otro_reg();break; case 'l':ordenar();break; } }while(opcion!='t'); getch(); }

EJEMPLO N 2
void otro_reg() { for(i=0; i<NUM_PER; i++){ clrscr(); flushall();cout<<"\n Introduzca un nombre : ";gets(A[i].nombre); cout<<"\n Edad: ";cin>>A[i].edad; cout<<"\n sexo: ";cin>>A[i].sexo; } }

EJEMPLO N 2
void ordenar() {clrscr();
persona aux;

for(i=0;i<NUM_PER-1;i++) for(j=0;j<NUM_PER-1-i;j++)
{

if(strcmp(A[j].nombre,A[j+1].nombre)>0) { aux=A[j]; A[j]=A[j+1]; A[j+1]=aux; } };

EJEMPLO N 2
//lista array ordenado setiosflags(ios::left); cout<<setw(20)<<"NOMBRE"<<setw(10)<<"E DAD"<<setw(10)<<"SEXO"<<endl; for(i=0;i<NUM_PER;i++) { cout<<setw(20)<< A[i].nombre <<setw(10)<< A[i].edad<<setw(10)<<A[i].sexo <<endl; } getch(); }

EJEMPLO N 2

EJEMPLO N 2

EJERCICIOS PROPUESTOS
1.- Un array de estructuras contiene la descripcin de personas para efectos estadsticos. Cada estructura tiene los campos: nombre, edad, sexo, altura, color de piel, color de ojos, nacionalidad Escribir un programa que mediante un men realice: a) lea y almacene datos en este array, b) ordene el array por orden alfabtico de nombres c) imprima su contenido.

EJERCICIOS PROPUESTOS
2.- Desarrolle un programa, que presente el sgte men: a.- introducir notas b.- Listar promedio final por pantalla c.- Salir Donde la estructura de los datos es la sgte: Codigo (int) Nombre char[30] Parcial (int) Final (int) Trabajo (int) Y PF= (parcial + final + trabajo) /3 Asuma que el nro mximo de alumnos es 30

EJERCICIOS PROPUESTOS
3.- Un mdico almacena la siguiente informacin de sus pacientes: nombre, direccin, telfono, fecha ltima visita, si es o no privado, si tiene alergias, y un campo de observaciones. Se desea un programa con las siguientes opciones: Introduccin de registros interactivamente. Imprimir en pantalla toda la informacin del paciente a) Dado un nombre de un paciente encontrar la fecha de la ltima visita b) Listar todos los pacientes con alergias c) Listar alfabticamente todos los pacientes privados
d) Imprimir todo el listado completo de paciente

GRACIAS POR SU ATENCIN

S-ar putea să vă placă și