0% found this document useful (0 votes)
13 views

PR 10

Uploaded by

amarkamthe0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

PR 10

Uploaded by

amarkamthe0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

PRACTICAL NO : 10

NAME : Sanskruti Wagh


ROLL NO : S512076
DIV : B

Problem statement:
Department maintains student’s database. The file contains roll number,
name, division and address. Write a program to
i. create a sequential file to store and maintain student data. ii.
It should allow the user to add, delete information of student. iii.
Display information of particular student.
-> If record of student does not exist an appropriate message is displayed.
->If student record is found it should display the student details.
CODE –
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
class tel
{

public:
int rollNo,roll1;
char name[10];
char div; char
address[20]; void
accept()

{
cout<<"\n\tEnter Roll Number :
"; cin>>rollNo; cout<<"\n\tEnter
the Name : "; cin>>name;
cout<<"\n\tEnter the Division:";
cin>>div; cout<<"\n\tEnter the
Address:"; cin>>address;
}
void accept2()
{
cout<<"\n\tEnter the Roll No. to modify : ";

cin>>rollNo;
}
void accept3()
{
cout<<"\n\tEnter the name to modify : "; cin>>name;
}
int getRollNo()
{
return rollNo;
}
void show()
{

cout<<"\n\t"<<rollNo<<"\t\t"<<name<<"\t\t"<<div<<"\t\t"<<address;
} };
int main()
{
int
i,n,ch,ch1,rec,start,count,add,n1,add2,start2,n2,y,a,b,on,ona,add3,start3,n3,y1,a
d d4,start4,n4; char name[20],name2[20];
tel t1;
count=0;
fstream g,f;
do
{
cout<<"\n>>>>>>>>>>>>>>>>>>MENU<<<<<<<<<<<<<<<";
cout<<"\n1.Insert and overwrite\n2.Show\n3.Search C Edit(number)\n4.Search C
Edit(name)\n5.Search CEdit(onlynumber)\n6.Search C edit(only name)\n7.Delete
a
Student Record\n8.Exit\n\tEnter the
Choice\t:"; cin>>ch; switch(ch)
{
case 1:
f.open("StuRecord.txt",ios::out);
x:t1.accept();

f.write((char*) Ct1,(sizeof(t1))); cout<<"\nDo you want to


enter more records?\n1.Yes\n2.No"; cin>>ch1; if(ch1==1)
goto x; else
{
f.close();
break;
}

case 2:
f.open("StuRecord.txt",ios::in);
f.read((char*) Ct1,(sizeof(t1)));
//cout<<"\n\tRoll No.\t\tName \t\t Division \t\t Address";

while(f)
{
t1.show();
f.read((char*) Ct1,(sizeof(t1)));
}
f.close(); break; case 3: cout<<"\nEnter the roll
number you want to find"; cin>>rec;

f.open("StuRecord.txt",ios::in|ios::out);
f.read((char*)Ct1,(sizeof(t1)));
while(f)
{
if(rec==t1.rollNo)
{
cout<<"\nRecord found";
add=f.tellg();
f.seekg(0,ios::beg);
start=f.tellg(); n1=(add-
start)/(sizeof(t1));
f.seekp((n1-
1)*sizeof(t1),ios::beg);
t1.accept();
f.write((char*) Ct1,(sizeof(t1)));
f.close();
count++;

break;
}
f.read((char*)Ct1,(sizeof(t1)));
}
if(count==0) cout<<"\nRecord
not found";
f.close();
break; case 4:
cout<<"\nEnter
the name you
want to find
and edit";
cin>>name;
f.open("StuRecord.txt",ios::in|ios::out);
f.read((char*)Ct1,(sizeof(t1)));
while(f)
{
y=(strcmp(name,t1.name));
if(y==0)
{
cout<<"\nName found";
add2=f.tellg();
f.seekg(0,ios::beg);
start2=f.tellg(); n2=(add2-
start2)/(sizeof(t1));
f.seekp((n2-
1)*sizeof(t1),ios::beg);
t1.accept();

f.write((char*) Ct1,(sizeof(t1)));
f.close();
break;
}
f.read((char*)Ct1,(sizeof(t1)));
}
break; case
5:
cout<<"\n\t
Enter the
roll
number
you want to
modify";
cin>>on;
f.open("StuRecord.txt",ios::in|ios::out);
f.read((char*) Ct1,(sizeof(t1)));
while(f)
{
if(on==t1.rollNo)
{
cout<<"\n\tNumber found";
add3=f.tellg();
f.seekg(0,ios::beg);
start3=f.tellg(); n3=(add3-
start3)/(sizeof(t1));
f.seekp((n3-1)*(sizeof(t1)),ios::beg);
t1.accept2();
f.write((char*)Ct1,(sizeof(t1)));
f.close();
break;
}
f.read((char*)Ct1,(sizeof(t1)));
}
break; case
6:
cout<<"\nEnter the name you want to find and edit"; cin>>name2;

f.open("StuRecord.txt",ios::in|ios::out);
f.read((char*)Ct1,(sizeof(t1)));
while(f)
{
y1=(strcmp(name2,t1.name));
if(y1==0)
{
cout<<"\nName found";
add4=f.tellg();
f.seekg(0,ios::beg);
start4=f.tellg(); n4=(add4-
start4)/(sizeof(t1));
f.seekp((n4-
1)*sizeof(t1),ios::beg);
t1.accept3();
f.write((char*) Ct1,(sizeof(t1)));
f.close();
break;
}
f.read((char*)Ct1,(sizeof(t1)));
}
break; case
7:
int roll;
cout<<"Please Enter the Roll No. of Student Whose Info You Want to Delete: ";
cin>>roll;

f.open("StuRecord.txt",ios::in);
g.open("temp.txt",ios::out);
f.read((char *)Ct1,sizeof(t1));
while(!f.eof())
{
if (t1.getRollNo() != roll)
g.write((char *)Ct1,sizeof(t1));
f.read((char *)Ct1,sizeof(t1));
}
cout << "The record with the roll no. " << roll << " has been deleted " <<
endl;
f.close();
g.close(); remove("StuRecord.txt");
rename("temp.txt","StuRecord.txt"
); break; case 8: cout<<"\n\tThank
you"; break;

}
}while(ch!=8);
}
OUTPUT -

You might also like