tengo este codigo con el cual ingreso datos en en un archivo .dat #include<iostream> #include<stdio.h> #include<conio.h> using namespace std; int main() { FILE* arch; struct stregistro { char codigo[100]; char nombre[10]; char direccion[10]; int edad; float nota; } persona; arch=fopen("datos.dat","ab"); cout<<"digite los datos: "<<endl; cout<<"ingrese el codigo"<<endl; cin>>persona.codigo; cout<<"nombre: "<<endl; cin>>persona.nombre; cout<<"direccion: "<<endl; cin>>persona.direccion; cout<<"edad: "<<endl; cin>>persona.edad; cout<<"nota: "<<endl; cin>>persona.nota; fseek(arch,sizeof(stregistro),SEEK_SET); fwrite(&persona,sizeof(stregistro),1,arch); return 0; }
y necesito ayuda con este codigo deberia ser para sacar los datos del codigo que se ingresa pero no me funciona porfavor ayuda
#include<iostream> #include<stdio.h> #include<conio.h> using namespace std; int main() { FILE* arch; struct stregistro { char codigo[10]; char nombre[10]; char direccion[10]; int edad; float nota; } persona; int i; char wcodigo[10]; arch=fopen("datos.dat","r"); if (arch == NULL) { printf("\nError de apertura del archivo. \n\n"); } cout<<"ingrese el codigo: "<<endl; cin>>wcodigo; i=0; while (!feof(arch)) { fseek(arch,i*sizeof(stregistro),SEEK_SET); fread(&persona,sizeof(stregistro),1,arch); if(persona.codigo==wcodigo) { cout<<"nombre: "<<persona.nombre<<endl; cout<<"direccion: "<<persona.direccion<<endl; cout<<"edad: "<<persona.edad<<endl; cout<<"nota: "<<persona.nota<<endl; cout<<endl; } i=i+1; } return 0; }
|