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 fue publicada en Diversidad y etiquetada . Guarda el enlace permanente.

Deja un comentario

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