#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<iomanip.h>
class
student
{
public:char
name[15],usn[15],age[5],sem[5],branch[15],buffer[100];
};
student
s2[100];
void
writeRecord()
{
fstream app;
student s;
app.open("student.txt",ios::app);
if(!app)
{
cout<<"cannot open the file in
output mode";
getch();
exit(0);
}
cout<<"\nEnter the student
name = ";
cin>>s.name;
cout<<"\nEnter the usn = ";
cin>>s.usn;
cout<<"\nEnter the age = ";
cin>>s.age;
cout<<"\nEnter the sem = ";
cin>>s.sem;
cout<<"\nEnter the branch = ";
cin>>s.branch;
strcpy(s.buffer,s.name);
strcat(s.buffer,"|");
strcat(s.buffer,s.usn);
strcat(s.buffer,"|");
strcat(s.buffer,s.age);
strcat(s.buffer,"|");
strcat(s.buffer,s.sem);
strcat(s.buffer,"|");
strcat(s.buffer,s.branch);
strcat(s.buffer,"\n");
app<<s.buffer;
app.close();
}
void
search()
{
fstream in;
char usn[15],extra[45];
in.open("student.txt",ios::in);
if(!in)
{
cout<<"\nUnable to open the file
in input mode";
getch();
exit(0);
}
cout<<"\nEnter the record's usn
you want to search = ";
cin>>usn;
student s;
while(!in.eof())
{
in.getline(s.name,15,'|');
in.getline(s.usn,15,'|');
in.getline(s.age,5,'|');
in.getline(s.sem,5,'|');
in.getline(s.branch,15,'\n');
if(strcmp(s.usn,usn)==0)
{
cout<<"\nRecord found";
cout<<"\nname\tusn\tage\tsem\tbranch";
cout<<"\n"<<s.name<<"\t"<<s.usn<<"\t"<<s.age<<"\t"<<s.sem<<"\t"<<s.branch;
getch();
return;
}
}
cout<<"\nRecord not found";
getch();
return;
}
void
displayFile()
{
student s;
int c,i;
fstream in;
in.open("student.txt",ios::in);
if(!in)
{
cout<<"\ncannot open the file in
output mode";
getch();
exit(0);
}
i=0;
printf("Name\t\tUsn\t\tAge\t\tSem\t\tBranch\n");
while(!in.eof())
{
in.getline(s.name,15,'|');
in.getline(s.usn,15,'|');
in.getline(s.age,5,'|');
in.getline(s.sem,5,'|');
in.getline(s.branch,15,'\n');
printf("\n%s\t\t%s\t\t%s\t\t%s\t\t%s",s.name,s.usn,s.age,s.sem,s.branch);
i++;
}
in.close();
getch();
}
void
modify()
{
fstream in;
char usn[15];
int i,j;
student s1[100];
in.open("student.txt",ios::in);
if(!in)
{
cout<<"\nUnable to open the file
in input mode";
getch();
exit(0);
}
cout<<"\nEnter the usn";
cin>>usn;
i=0;
while(!in.eof())
{
in.getline(s1[i].name,15,'|');
in.getline(s1[i].usn,15,'|');
in.getline(s1[i].age,5,'|');
in.getline(s1[i].sem,5,'|');
in.getline(s1[i].branch,15,'\n');
i++;
}
i--;
for(j=0;j<i;j++)
{
if(strcmp(usn,s1[j].usn)==0)
{
cout<<"\nThe old values of the
record with usn "<<usn<<" are ";
cout<<"\nname = "<<s1[j].name;
cout<<"\nusn = "<<s1[j].usn;
cout<<"\nage = "<<s1[j].age;
cout<<"\nsem = "<<s1[j].sem;
cout<<"\nbranch =
"<<s1[j].branch;
cout<<"\nEnter the new values
\n";
cout<<"\nname = ";
cin>>s1[j].name;
cout<<"\nusn = ";
cin>>s1[j].usn;
cout<<"\nage = ";
cin>>s1[j].age;
cout<<"\nsem = ";
cin>>s1[j].sem;
cout<<"\nbranch = "; cin>>s1[j].branch;
break;
}
}
if(j==i)
{
cout<<"\nThe record with usn
"<<usn<<" is not present";
getch();
return;
}
in.close();
fstream out1;
out1.open("student.txt",ios::out);
if(!out1)
{
cout<<"\nUnable to open the file
in output mode";
getch();
return;
}
student s;
for(j=0;j<i;j++)
{
out1<<s1[j].name<<'|'<<s1[j].usn<<'|'
<<s1[j].age<<'|'<<s1[j].sem<<'|'<<s1[j].branch<<'\n';
}
out1.close();
}
void main()
{
fstream in;
fstream out;
int choice;
out.open("student.txt",ios::out);
if(!in)
{
cout<<"\n\ncannot open the file
in output mode";
getch();
exit(0);
}
out.close();
for(;;)
{
clrscr();
cout<<"\n0:exit";
cout<<"\n1:write to file";
cout<<"\n2:display the file";
cout<<"\n3:modify the file";
cout<<"\n4:search";
cout<<"\n\nEnter the choice";
cin>>choice;
switch(choice)
{
case 1:writeRecord();break;
case 2:displayFile();break;
case 3:modify();break;
case 4:search();break;
case 0:exit(0);
default:cout<<"\nInvalid
input....";break;
}
} }
No comments:
Post a Comment