UNIDAD 5: C++ REGISTROS Y ARCHIVOS SECUENCIALES C++

TEMA 7: BUSQUEDA ARCHIVOS C++


En este tema se analiza la busqueda de un registro o renglón determinado.

En este proceso el usuario del programa quiere que se despliegue un y solo un registro de información proporcionando un dato de busqueda generalmente la clave del registro.

prog20.cpp


#include <stdio.h>

#include <conio.h>

#include <string.h>

struct {

int matricula;

char nombre[30];

int edad;} alumno;

void main() {

clrscr();

// cargando clave a buscar

printf("dame matricula buscar:");

int clave; scanf("%d",&clave);getchar();

//abriendo, leyendo,cargando estructura

FILE *archdisco;

archdisco = fopen("cpp:\\ac\\alumnos.dat","at+");

// aqui siempre debe empezar el ciclo de lectura

// y fread() regresa siempre cuantas estructuras leyo

while(fread(&alumno,sizeof(alumno),1,archdisco)==1)

{

// desplegando estructura buscada

if ( clave == alumno.matricula)

{ printf("MATRICULA =%d ",alumno.matricula);

printf(" NOMBRE =%s ",alumno.nombre);

printf(" MESES =%d ",alumno.edad);

printf("\n");};

}; // aqui termina while

// no olvidar cerrar archivo y siempre fuera de while

fclose(archdisco);

getchar();

}

corrida:

image211.jpg

Recordar que la caracteristica principal de un archivo secuencial de c++ es que no es posible acceder o accesar a un registro o renglon especifico o determinado sino que se debera recorrer todos los n-1 renglones anteriores.

Esta situación se da porque al construir un registro cualquiera con una montón de campos strings a la hora de almacenar dichos registros, estos registros tendran tamaños diferentes, esta es la razon principal por la cual al buscar un registro especifico se tiene que recorrer y validar todos los registros anteriores.

En el programa ejemplo se esta usando un ciclo while fread para recorrer todos los registros del archivo, por supuesto que si se tiene un archivo con 5000 registro y el buscado es el 4500 al menos se se tendra que recorrer todos los 4499 registros anteriores.

TAREAS PROGRAMACION C++

Construirles programas de busquedas a los archivos de c++ ya construidos.

 




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