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

TEMA 8: FILTROS C++


Otro problema similar al anterior es el de filtros, es decir en muchas ocasiones es necesario obtener información acerca de un subconjunto de renglones de el archivo.

Por ejemplo todos los estudiantes que sean mayores de 17 años, o todos los clientes que sean de Tijuana, etc., a esto le llamamos filtros o condiciones.

prog21.cpp

#include <stdio.h>
#include <conio.h>
#include <string.h>
struct {
int matricula;
char nombre[30];
int edad;} alumno;
void main() {
clrscr();
// cargando variable condicion
printf("EDAD MAYOR QUE >= :");
int edad; scanf("%d",&edad);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 estructuras buscadas
if (alumno. edad >= edad)
{ printf("%d ",alumno.matricula);
printf(" %s ",alumno.nombre);
printf(" %d ",alumno.edad);
printf("\n");};
}; // aqui termina while
// no olvidar cerrar archivo y siempre fuera de while
fclose(archdisco);
getchar();
}

corrida:

image212.jpg

Como se observa es un problema y una solución similar al tema anterior de busquedas.

TAREAS PROGRAMAS EN C++

HACERLES PROGRAMAS DE FILTRADO A LOS ARCHIVOS C++ ANTERIORES, PERO LA CONDICION DE BUSQUEDA FORMARLA COMPLETAMENTE CON VARIABLES UNO PARA LA VARIABLE Y OTRO PARA EL OPERADOR RELACIONAL PARA EL DATO, ESTO PERMITIRIA QUE SE PUDIERA FILTRAR EL ARCHIVO POR CUALQUIER CAMPO.

Politica de Privacidad