Академический Документы
Профессиональный Документы
Культура Документы
Arreglos y Definiciones
o
Homognea: Todos los datos del arreglos son del mismo tipo
Arreglos y Definiciones
o
Grficamente
1er dato
2do dato
N-esimo dato
Arreglos y Definiciones
o
Arreglos y Definiciones
Componentes
dato_1
dato_2
dato_3
dato_n-1
Dato_n
n-1
ndices
Nombre del Arreglo (ntese que todos los elementos tienen el mismo nombre C)
Arreglos y Definiciones
o
Ejemplo 1
1 2 3
19 20
La inicializacin de un arreglo local, puede realizarse en su declaracin, dando una lista de valores iniciales:
int numeros[8]={2,6,5,-2,3,6,8,9}; Obsrvese que la lista est delimitada por llaves. Otra posibilidad, slo vlida cuando se inicializan todos los elementos del arreglo, es escribir:
int numeros[]={-3,-2,-1,0,1,2,3,4,5,6};
donde, se obvia la declaracin de la cantidad de elementos, ya que est implcita en la lista de valores constantes.
Ejemplo: Hacer un programa que calcule la nota de un alumno en una prueba 10 preguntas de opciones mltiples ('a',... o, 'e'). Cada pregunta se evala con dos puntos. Debe inicializa un arreglo con las respuestas correctas. El programa debe mostrar el nombre, el arreglo de respuestas correctas y el arreglo de respuestas del alumno y la nota del alumno.
Ejemplo 2: Construya un programa que permita ingresar los arreglos de Nombre, Edades y Tallas en arreglo y que permita hacer lo siguiente // Rpta a) Calcular el promedio de las edades (PromEdad) Calcular el promedio de las tallas (PromTalla) // Rpta b) Calcular el numero de atletas menores de edad y el numero de atletas mayores de edad // Rpta c) Reporte Mostrar los nombres, edades y tallas de los N atletas Mostrar el promedio de las edades y de las tallas Mostrar la cantidad de atletas menores de edad Mostrar la cantidad de atletas mayores de edad. Mostrar los nombres de los atletas mas altos que el promedio.
Ejemplo 03: En una librera se tiene clasificados los libros en 8 grandes reas. Hacer un programa que inicialice los nombres de las reas y permita el ingreso de libros adquiridos de cada una de las reas en el primer semestre del ao. El programa debe calcular y mostrar la cantidad mnima y mxima de libros adquiridos en el primer semestre, e indicar a que reas corresponde. Debe mostrar este reporte: reas Cantidad Libros adquiridos xxxxxxxxxx 99999 xxxxxxxxxx 99999 -----999999
Cantidad Mnima 999 en el rea xxxxx Cantidad Mxima 999 en el rea xxxxx
Estructura (struct)
Una estructura (tambin llamada registro) es un tipo de datos que agrupa varios datos de tipo simple en un solo objeto.
char nombre[30];
int edad; }; persona persona1, persona2; o struct persona persona1, persona2; La asignacin se hace mediante el operador .
strcopy(persona1.nombre,Manuel);
persona1.edad = 23; strcopy(persona2.nombre,Maria); persona2.edad = 17;
Ejemplo
Otros ejemplos
Carta de baraja
numero palo
Libro
titulo autor editorial anyo
struct libro{ char titulo[40]; char autor[30]; char editorial[20]; int anyo; }; struct poligono{ char nombre[20]; int lados; float longitudLado, area; }
Polgono regular
nombre lados longitudLado area
Ejemplo de alumnos
struct alumno{ int matricula; char nombre[20]; char carrera[20]; float promedio; char categoria[20]; };
Actividad
Defina estructuras para los siguientes datos y escriba un ejemplo de inicializacin de una variable con llaves y campo por campo.
Registro de automviles
CURP marca modelo anyo placa
Cliente de videoclub
nombre direccion telefono adeuda
Documento de Identidad
dni nombres apellidoPaterno direccion apellidoMaterno ubigeo nacionalidad
grupoSanguineo
donaOrganos
Tarjeta de crdito
nombre fechaVencimiento numeroTarjeta saldo limite
Copia de estructuras
El operador = se puede utilizar para asignar todos los campos de una estructura a otra. Ejemplo: struct libro{ char titulo[30], autor[30], editorial[15]; int anyo, edicion; };
ESTRUCTURAS ANIDADAS
Ejemplo de estructuras anidadas struct fecha{ int dia,mes,anyo; }; struct persona{ char nombre[20]; char apellido[20]; fecha nacimiento; int edad; int sexo; char telefono[20]; };
nombre
apellido
nacimiento
edad
sexo
telefono
Cont.
struct posicion{ char depto[5]; char trabajo[20]; }; struct empleado{ nomdir nombreDireccion; posicion trabajo; float salario; int numDepto; fecha fechaIngreso; }; struct estudiante{ nomdir nombreDireccion; char carrera[20]; float promedio; int creditos; };
nomdir nom nombre apellidos calle colonia ciudad dir estado pais num cp
dir
ciudad
carrera
promedio
creditos
dir
ciudad estado pais num cp
Arreglos de estructuras
Un arreglo de estructuras contiene elementos que son estructuras.
struct estudiante{ nomdir nombreDireccion; char carrera[20]; float promedio; int creditos; }; main(){ estudiante est[50]; ...
EJEMPLO
Ejercicio
Construya un estructura que administre la informacin de N trabajadores de una empresa como: codigo, nombres, tipo (contratado o estable), turno (Maana, Tarde o Noche) y sueldo. Considere un mtodo adicional para mostrar el siguiente resumen de los datos de los empleados: Cantidad de empleados contratados. Cantidad de empleados estables. Sumatorio de todos los sueldos. El mayor sueldo