1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
#include<iostream>
#include<fstream>
#include<cstdio>
using namespace std;
class student
{
int rno;
char name[80];
public:
void getdetails()
{
cout<<"\nEnter Roll Number:-";
cin>>rno;
cout<<"\nEnter name:-";
cin>>name;
}
void putdetails()
{
cout<<"Roll Number:"<<rno<<"\nName:"<<name<<endl<<endl;
}
int returnrno(){return rno;}
};
void addrecord()
{
ofstream ofile;
ofile.open("c:\\student.txt",ios::app|ios::binary);
student s1;
s1.getdetails();
ofile.write((char *)&s1,sizeof(s1));
}
void searchrecord()
{
int query;
cout<<"\nEnter the record to be searched for:-";
cin>>query;
student s1;
ifstream ifile;
ifile.open("c:\\student.txt",ios::binary);
while(ifile.read((char *)&s1,sizeof(s1)))
{
if(query==s1.returnrno())
{
cout<<"\nRecord found!\n";
s1.putdetails();
return;
}
}
cout<<"\nRecord Not Found!\n\n";
}
void modifyrecord()
{
ifstream ifile;
ifile.open("c:\\student.txt",ios::binary);
ofstream ofile;
ofile.open("c:\\temp.txt",ios::binary);
int query;
cout<<"\nEnter the record to be modified:-";
cin>>query;
student s1;
ifile.seekg(0);
while(ifile.read((char *)&s1,sizeof(s1)))
{
if(query==s1.returnrno())
{
s1.getdetails();
ofile.write((char *)&s1,sizeof(s1));
}
else
{
ofile.write((char *)&s1,sizeof(s1));
}
}
remove("c:\\student.txt");
rename("c:\\temp.txt","c:\\student.txt");
}
void deleterecord()
{}
void printrecord()
{
ifstream ifile;
ifile.open("c:\\student.txt",ios::binary);
student s1;
while(ifile.read((char *)&s1,sizeof(s1)))
{
cout<<endl;
s1.putdetails();
}
cout<<endl<<endl<<endl;
}
int main()
{
int ch;
do
{
cout<<"\nMenu\n1.)Add Record\n2.)Search Record\n3.)Modify Record\n4.)Delete Record\n5.)Print Record\n6.)Exit\nEnter choice:-";
cin>>ch;
cout<<endl<<endl;
switch(ch)
{
case 1:
addrecord();
break;
case 2:
searchrecord();
break;
case 3:
modifyrecord();
break;
case 4:
deleterecord();
break;
case 5:
printrecord();
break;
case 6:
break;
default:
cout<<"\nInvalid choice!";
}
}while(ch!=6);
}
| |