del mismo tipo, los cuales se podrn manipular o realizar cualquier operacin sobre cada uno de ellos o sobre toda la estructura. Los elementos individuales de una variable estructura reciben el nombre de campos. Ejemplos: vector, registro, matriz, archivo, lista, pila,
struct nombre_estructura { tipo campo1; tipo campo2; tipo campoN; } lista de variables;
Se utiliza nomestructura.nombredelcampo para referenciar al dato de un campo dentro de un registro
Un registro es un conjunto de campos, en los campos se almacenan datos que no necesariamente son del mismo tipo, un registro esta representado como un rengln o fila dentro de una tabla.
NOMBRE_ARCHIVO
codigo nombre edad Telefono 123 Pedro 17 5347298 222 Juana 18 8273646 CAMPO REGISTRO Los archivos son medios que facilita el lenguaje para almacenar los datos en forma permanente, normalmente en los dispositivos de almacenamiento Conjunto de registros que contienen campos y en cada campo se almacena los datos simples. Todo archivo tiene nombre y extensin. EJ. Agenda.dat, carta.doc, notas.xls
Hay tres tipos de archivos:
archivos secuenciales archivos directos archivos indexados Los datos se almacenan en forma consecutiva y no es posible leer ningun registro directamente. La desventaja es que el acceso es lento cuando el archivo tiene gran cantidad de registros La ventaja es la fcil implementacin ya que no requiere otras instrucciones especiales Se puede acceder o leer un renglon n cualquiera, el acceso a todas las operaciones sobre archivos es directamente a un registro especifico. El acceso es rpido y directo Se debe incluir la utilizacin del fseek()
Este ultimo tipo de archivos tiene adicionalmente un campo denominado campo indice, el cual permite acceder y realizar todas las operaciones con archivos Modo Texto: en este caso los datos son almacenados usando Ascii. [ t] Modo Binario: en este caso los datos son almacenados en notacin hexadecimal y por tanto se ocupa un editor binario para reconocerlos. [ b]
Existen muchas operaciones asociadas a archivos, las mas elementales son: 1.- Creacin de Archivo.- En este proceso se pretende solamente crear un archivo nuevo en disco con su nombre tipo y especialidad de almacenamiento de datos apropiado. algoritmo para crear un archivo:
1.- Definir la estructura 2.- Crear variable apuntador para el archivo con FILE 3.- Abrir el archivo en modo escritura 4.- cerrar el archivo
2.- Apertura de Archivos.- En este caso se pretende abrir un archivo ya existente en disco para procesarlo. Utilizar el fopen( ) y los modos de apertura Existen tres modos de apertura: Lectura (r) Escritura (w) Adicion o append (a)
3.-Cierre de archivos: Es la operacin mas importante en cualquier programa que maneje archivos, o se cierra el archivo como ultima instruccin del programa o se vera el anuncio ABORT,RETRY,FAIL. Utilizar el fclose( );
4.-Altas en archivo (insertar).- En este proceso se captura una estructura en memoria con sus datos pertinentes y despus se graba la estructura al archivo en disco.
algoritmo para adicionar 1.- abrir el archivo el modo de lectura/escritura 2.- capturar campos con scanf() 3.- grabar cada registro en la estructura con fwrite() 4.- cerrar el archivo
5.-Lectura de archivo.- En este proceso se abre el archivo, se manda el registro de disco a una estructura en memoria para su procesamiento.
algoritmo para imprimirr 1.- abrir el archivo el modo de escritura 2.- mientras no sea fin de archivo Hacer Leer cada registro con fread ( ) Imprimir los datos del registro con printf( ) Fin de mientras 3.- cerrar el archivo
6.- Consulta de archivos: En este proceso se pretende desplegar todos los registros del archivo en disco a la pantalla y/o impresora, tambien se denomina impresin de registros
7.-Busqueda en archivos: Una de las operaciones mas comunes consiste en que el usuario pide toda la informacin de algn rengln en disco proporcionando la informacin de algun campo generalmente el campo clave de la estructura.
algoritmo de bsqueda en un archivo secuencial 1.- abrir el archivo en modo escritura 2.- introducir el dato clave por el cual se har la bsqueda 3.- mientras no sea fin de archivo Comparar si la clave es igual al registro buscado Entonces imprimir el registro Sino imprimir registro no encontrado Fin de mientras 4.- cerrar el archivo
8.- Filtros.- En este proceso el usuario esta interesado en algn conjunto de renglones con caractersticas comunes (condicin), por ejemplo todos los alumnos de "sistemas" o todos los empleados que ganen ms de Bs. 500.00
Se utiliza una condicin para comparar, se puede aplicar a un solo campo o tambin a varios campos Tambin se puede incluir los operadores lgicos (and, or, not) Se puede realizar clculos internos con algunos campos y mostrarlos 9.-Modificaciones de registros o archivos: Problema muy comn, donde los datos originales ya grabados se tienen que cambiar o actualizar, por ejemplo el nombre no era "juan" es "juana", o la calificacin no es 100 es 20, etc.
Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacin o para corregir algn error de captura original o para agregar alguna columna que no exista por modificacin de la tabla o la base de datos. Se realiza con dos archivos el original y el temporal
10.- Bajas de registros(eliminacin): Tambin muy comn este proceso, por ejemplo el alumno ya egreso, el cliente huyo, etc.
Eliminacin o bajas es el proceso por medio del cual algunos registros del archivo son purgados del archivo, existen dos maneras por las cuales se puede realizar ese proceso. remove borra un archivo rename renombra archivos
Se usan dos archivos, el archivo original y un archivo temporal, el procedimiento o algoritmo es muy sencillo, se lee el registro del archivo original y si no es el registro a eliminar entonces se almacena en el archivo temporal, cuando se termina de procesar todo el archivo original, el archivo temporal solo contendr todos los registros que no se quisieron eliminar