el programita anda pero queria saber como buscan y modifcan datos..
Código:
#include <iostream> #include <conio.c> using namespace std; struct tp { char n[30]; }; void cg(tp *); void bq(tp *); void pant(tp *); int main (int argc, char* argv[]) { tp p; long ps; cg(&p); bq(&p); pant(&p); getch(); return 0; } void cg(tp *p) { FILE *a; if((a=fopen("c:\\si.cho","wb"))==NULL) cout<<"nu"; else { for(int i=0; i<3; i++) { cin.getline((p->n),30); fwrite(p,sizeof(tp),1,a); } } fclose(a); } void pant(tp *p) { FILE *ar; if((ar=fopen("c:\\si.cho","rb"))==NULL) cout<<"nu"; else { fread(p,sizeof(tp),1,ar); while(!feof(ar)) { cout<<(p->n)<<endl; fread(p,sizeof(tp),1,ar); } } fclose(ar); } void bq(tp *p) { char c[30]; cout<<"ingr nm"<<endl; cin.getline(c,30); FILE *arc; if((arc=fopen("c:\\si.cho","rb+"))==NULL) cout<<"nu"; fread(p,sizeof(tp),1,arc); while(!feof(arc)) { if(!strcmp(c,p->n)) { cout<<"se encontro"<<endl; cout<<p->n<<endl; cout<<"ingrese reemplaz"<<endl; cin.getline(p->n,30); fseek(arc,(long)(-1)*sizeof(tp),1);//es necesario usar esa formula?? fwrite(p,sizeof(tp),1,arc); fclose(arc); break; } fread(p,sizeof(tp),1,arc); } fclose(arc); }