#include <fcntl.h>
#include <conio.h>
#include <process.h>
#include <fstream.h>
#include <iostream.h>
#include <stdio.h>
class student{
public:
struct student2 {
char name[15];
char lastn[15];
long int no;
};
student2 k;
void add();
void show();
void delet();
void update();
void search();
};
//************************************************** **********//
void student::add(){
fstream s2;
clrscr();
cout<<"Enter Name : ";
cin>>k.name;
cout<<"\nEnter Famili Name: ";
cin>>k.lastn;
cout<<"\nEnter Number Student : ";
cin>>k.no;
s2.open("s2.txt",ios::out | O_RDWR);
s2.write((char *) &k,sizeof(k));
s2.close();
}
//************************************************** **********//
void student::delet(){
fstream f2,f1;
long int so=0;
clrscr();
cout<<"Enter Number Student : ";
cin>>so;
f1.open("s2.txt",ios::in);
f2.open("fs2.txt",ios::out | O_RDWR);
while(1)
{
f1.read((char *) &k,sizeof(k));
if (f1.fail()) break;
if (k.no!=so)
{
f2.write((char *) &k,sizeof(k));
}
}
f1.close();
f2.close();
remove("s2.txt");
rename("fs2.txt", "s2.txt");
getch();
}
//************************************************** ***********//
void student::update(){
fstream f2,f1;
long int so=0;
clrscr();
cout<<"Enter Number Student : ";
cin>>so;
f1.open("s2.txt",ios::in);
f2.open("fs2.txt",ios::out | O_RDWR);
while(1)
{
f1.read((char *) &k,sizeof(k));
if (f1.fail()) break;
if (k.no!=so)
{
f2.write((char *) &k,sizeof(k));
}
}
f1.close();
f2.close();
remove("s2.txt");
rename("fs2.txt", "s2.txt");
getch();
fstream x;
clrscr();
cout<<"Enter Name : ";
cin>>k.name;
cout<<"\nEnter Famili Name: ";
cin>>k.lastn;
cout<<"\nEnter Number Student : ";
cin>>k.no;
x.open("s2.txt",ios::out | O_RDWR);
x.write((char *) &k,sizeof(k));
x.close();
}
//************************************************** **********//
void student::show(){
fstream s2;
int j=3;
clrscr();
cout<<" NAME FAMILY NUMBER "<<endl;
cout<<"***********************************"<<endl;
s2.open("s2.txt",ios::in);
while(1)
{
s2.read((char *) &k,sizeof(k));
if (s2.fail()) break;
gotoxy(2,j); cout<<k.name<<" ";
gotoxy(12,j); cout<<k.lastn<<" ";
gotoxy(25,j); cout<<k.no<<endl;
j++;
}
s2.close();
getch();
}
//************************************************** ***********//
void student::search(){
fstream s2;
int h=0;
long int so=0;
clrscr();
cout<<"Enter Number Student For Search : ";
cin>>so;
s2.open("s2.txt",ios::in);
while(1)
{
s2.read((char *) &k,sizeof(k));
if (s2.fail()) break;
if(k.no==so)
{
clrscr();
cout<<" NAME FAMILY NUMBER "<<endl;
cout<<"***********************************"<<endl;
gotoxy(3,3); cout<<k.name<<" ";
gotoxy(13,3); cout<<k.lastn<<" ";
gotoxy(26,3); cout<<k.no<<endl;
h=1;
break;
}
}
s2.close();
if(h==0) cout<<"\nInvalid Information!.";
getch();
}
//************************************************** ***********//
void main(){
student ks;
char k1;
while(1)
{
clrscr();
cout<<" 1- Add "<<endl;
cout<<"\n 2- Show "<<endl;
cout<<"\n 3- Delete "<<endl;
cout<<"\n 4- Up Date"<<endl;
cout<<"\n 5- Search "<<endl;
cout<<"\n 6- Exit "<<endl;
cout<<"\n Enter 1-6: ";
k1=getche();
switch(k1)
{
case '1' : ks.add();break;
case '2' : ks.show();break;
case '3' : ks.delet();break;
case '4' : ks.update();break;
case '5' : ks.search();break;
case '6' : exit(0);
}
}
}