#include #include #include #include #include class stud { char id[10],name[10],buf[53],sem[10]; public: void read(); void pack(); void unpack(); void modify(); void search(); }s; fstream f; void stud::read() { cout<<"enter id,name,sem\n"; cin>>id>>name>>sem; } void stud::pack() { f.open("7.txt",ios::app); strcpy(buf,id); strcat(buf,"|"); strcat(buf,name); strcat(buf,"|"); strcat(buf,sem); strcat(buf,"#"); for(int i=0;buf[i]!='\0';i++) f.put(buf[i]); f.close(); } void stud::unpack() { cout<<"id\tname\tsem\n"; f.open("7.txt",ios::in); while(1) { if(f.eof()) break; loop:f.getline(buf,50,'#'); if(buf[0]=='$') goto loop; for(int i=0;buf[i]!='\0';i++) { if(buf[i]=='|') cout<<'\t'; else if(buf[i]=='#') cout<<"\n"; else cout<>idl; f.open("7.txt",ios::in|ios::out); while(1) { if(f.eof()) { cout<<"id not found\n"; break; } loop:f.getline(buf,50,'#'); if(buf[0]=='$') goto loop; for(int i=0;buf[i]!='|';i++) tempid[i]=buf[i]; tempid[i]='\0'; if(strcmp(idl,tempid)==0) { int len=strlen(buf); len++; f.seekp(-len,ios::cur); f.put('$'); flag=1; break; } } f.close(); if(flag) { cout<<"enter the new value\n"; read(); pack(); cout<<"modified record:\n"; unpack(); } } void stud::search() { char idl[10],tempid[10]; cout<<"enter the id to be searched\n"; cin>>idl; f.open("7.txt",ios::in); while(1) { if(f.eof()) { cout<<"record not found\n"; break; } loop:f.getline(buf,50,'#'); //cout<>ch; switch(ch) { case 1:s.read(); s.pack(); break; case 2:s.unpack(); break; case 3:s.search(); break; case 4:s.modify(); break; case 5: exit(0); } } }