archivos ingresar N datos y buscar c++

Archivos o Ficheros en C++, inserción y búsqueda.

Este es un ejemplo de un algoritmo, con el tema de ficheros donde se ingresan N estudiantes al archivo, también esta integrado el algoritmo de búsqueda de datos, este ejemplo fue probado en la IDE Code::Blocks, puede correr en cualquier otra IDE que soporte el estándar de c++ superior.

/*
Se ingresan N estudiantes el Archivo o Fichero, y luego se realiza la busqueda de la misma

Choc Cac, Victor Hugo

*/

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>

using namespace std;

struct agenda{
char nombre[20], apellido[20], apellido2[20],numero[100];
}datos;

int main()
{

int menu = 101, metodo_busqueda, comparacion, Error=0;
char buscar_dato[16];

do
{

cout<<endl<<«Alumnos\n\n»;
cout<<«1. Agregar nuevo Alumno.\n»;
cout<<«2. Buscar Alumno.\n»;
cout<<«3. Salir.\n»;
cout<<«Que Opcion: «;

cin>>menu;

switch (menu)
{
case 1:
{

FILE*abrir;

abrir=fopen(«registro.dat», «a+b»);
cout<<«\nNuevo Alumno: «<<endl;
cout<<«Primer nombre: «;
cin>>datos.nombre;
cout<<«\nPrimer apellido: «;
cin>>datos.apellido;
cout<<«\nSegundo Apellido: «;
cin>>datos.apellido2;
cout<<«\nnumero carne: «;
cin>>datos.numero;
fwrite(&datos, sizeof(datos), 1, abrir);
fclose(abrir);
}
break;
case 2:
{

FILE*busqueda;
busqueda=fopen(«registro.dat», «r+b»);
cout<<«\nQue metodo Desea hacer la Buqueda?»<<endl;
cout<<«\n1. Nombre»;
cout<<«\n2. Apellido»;
cout<<«\n3. Numero de carnet»<<endl;
cout<<endl<<«Que desea Hacer?: «;
cin>>metodo_busqueda;

switch(metodo_busqueda)
{
case 1:
{
cout<<«\nIngrese el nombre a buscar: «;
cin>>buscar_dato;

while(!feof(busqueda))
{
fread(&datos, sizeof(datos), 1, busqueda);

comparacion=strcmp(buscar_dato, datos.nombre);

if(comparacion==0)
{
cout<<«\nDatos del estudiante»;
cout<<«\nNombre: «;
cout<<datos.nombre;
cout<<«\nApellido: «;
cout<<datos.apellido;
cout<<«\nNumero Carnet: «;
cout<<datos.numero;
Error=1;
break;
}

}

if(Error==0)
{
cout<<endl<<«Error! Nombre existe»;
}

}

break;
case 2:
{
cout<<endl<<«Ingrese el apellido a buscar: «;
cin>>buscar_dato;
while(!feof(busqueda))
{
fread(&datos, sizeof(datos), 1, busqueda);
comparacion=strcmp(buscar_dato, datos.apellido);
if(comparacion==0)
{
cout<<«\nDatos del estudiante»;
cout<<«\nNombre: «;
cout<<datos.nombre;
cout<<«\nApellido: «;
cout<<datos.apellido;
cout<<«\nNumero Carnet: «;
cout<<datos.numero;
Error=1;
break;
}

}
if(Error==0)
{
cout<<endl<<«Error! Apellido no existe»;
}
}
break;

case 3:
{
cout<<endl<<«Ingrese el Carnet a buscar: «;
cin>>buscar_dato;
while(!feof(busqueda))
{
fread(&datos, sizeof(datos), 1, busqueda);
comparacion=strcmp(buscar_dato, datos.numero);

if(comparacion==0)
{
cout<<«\nDatos del estudiante»;
cout<<«\nNombre: «;
cout<<datos.nombre;
cout<<«\nApellido: «;
cout<<datos.apellido;
cout<<«\nNumero Carnet: «;
cout<<datos.numero;
Error=1;
break;
}

}
if(Error==0)
{
cout<<endl<<«Error! el carnet no existe»;
}

}
break;
default: cout<<«\nFuera de Rango, teclee una opcion validad……\n»;
}
cin.get();cin.get();
fclose(busqueda);
}
break;
case 3:
{
menu=101;
}
break;
default: cout<<«\nFuera de Rango, teclee una opcion validad……\n»;
}
}while(menu !=101);

return 0;
}

Descargar:
Archivo ingresar N estudiantes y buscar c++

 

 

Esta entrada ha sido publicada en Diversidad y etiquetada como . Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.