Student Information No 11
Student Information No 11
#include<fstream>
#include<string.h>
class student
int roll;
char name[10];
char div;
char add[10];
}stud;
stud rec;
public:
void create();
void display();
int search();
void Delete();
};
void student::create()
char ans;
ofstream fout;
fout.open("stud.dat",ios::out|ios::binary);
do
cin>>rec.roll;
cin>>rec.name;
cout<<"\n\tEnter a Division of Student : ";
cin>>rec.div;
cin>>rec.add;
fout.write((char *)&rec,sizeof(stud))<<flush;
cin>>ans;
}while(ans=='y'||ans=='Y');
fout.close();
void student::display()
ifstream fin;
fin.open("stud.dat",ios::in|ios::binary);
fin.seekg(0,ios::beg);
cout<<"\n\tRoll\tName\tDiv\tAddress";
while(fin.read((char *)&rec,sizeof(stud)))
if(rec.roll!=-1)
cout<<"\n\t"<<rec.roll<<"\t"<<rec.name<<"\t"<<rec.div<<"\t"<<rec.add;
fin.close();
int student::search()
int r,i=0;
ifstream fin;
fin.open("stud.dat",ios::in|ios::binary);
fin.seekg(0,ios::beg);
while(fin.read((char *)&rec,sizeof(stud)))
if(rec.roll==r)
cout<<"\n\tRecord Found...\n";
cout<<"\n\tRoll\tName\tDiv\tAddress";
cout<<"\n\t"<<rec.roll<<"\t"<<rec.name<<"\t"<<rec.div<<"\t"<<rec.add;
return i;
i++;
fin.close();
return 0;
void student::Delete()
int pos;
pos=search();
fstream f;
f.open("stud.dat",ios::in|ios::out|ios::binary);
f.seekg(0,ios::beg);
if(pos==0)
return;
int offset=pos*sizeof(stud);
f.seekp(offset);
rec.roll=-1;
strcpy(rec.name,"NULL");
rec.div='N';
strcpy(rec.add,"NULL");
f.write((char *)&rec,sizeof(stud));
f.seekg(0);
f.close();
cout<<"\n\tRecord Deleted";
int main()
student obj;
int ch,key;
char ans;
do
cin>>ch;
switch(ch)
case 1: obj.create();
break;
case 2: obj.display();
break;
case 3: obj.Delete();
break;
case 4: key=obj.search();
if(key==0)
break;
case 5:
break;
cin>>ans;
}while(ans=='y'||ans=='Y');
return 1;