You are on page 1of 45

/* PROJECT ON POLICE AUTOMATION SYSTEM */

#include<iostream.h>
#include<fstream.h>
#include<process.h>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>
#include<ctype.h>
#include<string.h>
#define dash "*"
char cho;
class menu
{
public:
void main_menu();
void Bail_menu();
void criminal_menu();
void crimes_menu();
void empl_menu();
void pol_menu();
void box1(void);
void box(void);
};
float check_amnt(char s[]);
struct pdate{
int d,m,y;
};
typedef struct pdate DATE;

class bail{
protected:
int bail_no, criminal_no;
DATE bail_d;
float b_amnt;
public:
void add_bail(int,float); //add new bail
void del_bail(int); //delete bail
void modi_bail(int, int,float); // modify bail information
int find_bail(int); // finding bail
void dis_bail(void); //displaying bail register
void mod_b(void);
void find_b(int);

1
};

class criminal
{
protected:
int crno;
int cell_no;
int crime_no;
char cri_name[30];
char punish[30];
DATE dor;
public:
void add_criminal(int,int, char[], char[],DATE d); //add new
void del_criminal(int); //delete
void modi_criminal(int,int,int, char[], char[]); // modify information
int find_criminal(int); // finding
void dis_criminal(void); //displaying information
void mod_crimi(void);
void mod_c(void);
void find_c(int);
};
class crimes{
int crime_no;
char cr_type[20];
char act_des[30];
char punish[30];
char bail_amnt;
public:
void add_crime(char[], char[],char[],float); //add new
void del_crime(int); //delete
void modi_crime(int,char[],char[],char[],float); // modify information
int find_crime(int); // finding
void dis_crime(void);
void mod_cr(void);
void find_cr(int);
};
class employee{
int emp_no;
char emp_name[30], desig[30];
float sal;
int p_s_number;
public:
void add_emp(char[],char[],float,int);
void del_emp(int); //delete
void modi_emp(int ,char[],char[],float,int);
void find_e(int);

2
int find_emp(int);
// finding
void dis_emp(void);//displaying information
void mod_e(void);
};

class police_sta
{
int ps_number;
char address[40];
int tot_crim;
int total_emp;
public:
void add_ps(char[], int, int); //add new
void del_ps(int); //delete
void modi_ps(int, char[], int, int); // modify information
int find_ps(int); // finding
void dis_ps(void); //displaying information
void mod_ps(void);
void find_p(int);
};

/*******IMPLEMENTATION OF FUNCTIONS OF BAIL CLASS*****/


void bail :: add_bail(int cn, float bamnt)
{
int p;
int r;
ifstream in("bailw.dat",ios::binary);
if(!in)
p=50;
else
{
in.seekg(0,ios::end);
r=in.tellg();
r=r-sizeof(*this);
in.seekg(r);
in.read((char*)this,sizeof(*this));
p=bail_no;
}
in.close();
struct date dd;
int d1,m1,y1;
getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;

3
bail_no = ++p;
gotoxy(25,28); cout<<"----------------------------";
gotoxy(30,29);cout<<"BAIL NUMBER is "<<bail_no;
gotoxy(25,30); cout<<"----------------------------";

criminal_no= cn;
bail_d.d = d1;
bail_d.m = m1;
bail_d.y = y1;

b_amnt= bamnt;
fstream bfile;
bfile.open("bailw.dat",ios::out|ios::app);
bfile.write((char*)this,sizeof(bail));
bfile.close();
}

int bail:: find_bail(int bn)


{
fstream bfile;
bfile.open("bailw.dat",ios::in);
bfile.seekg(0,ios::beg);
int c=0;
while(bfile.read((char*)this,sizeof(bail)))
{
c++;
if(bn==bail_no) break;
}

bfile.close();
return(c);
}

void bail::modi_bail(int bn, int tcr_no, float bamnt)


{
int find_rec;
find_rec = find_bail(bn);
fstream bfile;
bfile.open("bailw.dat",ios::out|ios::ate);
criminal_no= tcr_no;
b_amnt= bamnt;
int loc;
loc = (find_rec-1) * sizeof(bail);
bfile.seekp(loc);
bfile.write((char*)this,sizeof(bail));
bfile.close();

4
return;
}

void bail::del_bail(int bn)


{
int found = 0;
menu m;
fstream bfile;
bfile.open("bailw.dat",ios::in);
fstream temp;
temp.open("tbailw.dat", ios::out);
bfile.seekg(0, ios::beg);
while(!bfile.eof())
{
bfile.read((char*)this, sizeof(bail));
if(bfile.eof()) break;
if(bail_no != bn)
temp.write((char*)this, sizeof(bail));
else
found = 1;
}
clrscr();
m.box1();
gotoxy(20,22);
if(found == 1)
cout<<"-----------Record Deleted-----------";
else cout<<"Sorry, This Number does not exist";

bfile.close();
temp.close();
bfile.open("bailw.dat",ios::out);
temp.open("tbailw.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char*)this,sizeof(bail));
if(temp.eof())break;
bfile.write((char*)this,sizeof(bail));
}

bfile.close();
temp.close();
}

5
void bail::dis_bail()
{
clrscr();
int flag;
fstream sfile;
gotoxy(25,2); cout<<"Bail Information";
gotoxy(25,3); cout<<"=====================";
int d1,m1,y1;
struct date dd;
getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;
gotoxy(62, 3); cout<<"Date: "<<d1<<"/"<<m1<<"/"<<y1;
gotoxy(1,4);
for(int j=1; j<=79; j++)
cout<<"=";

gotoxy(1,5);cout<<"Bail Number:- ";


gotoxy(15,5);cout<<"Criminal No:- ";
gotoxy(30,5);cout<<"Bail Date:- ";
gotoxy(43,5);cout<<"Bail Amount:- ";
gotoxy(1,6);
for(j=1;j<=79;j++)
cout<<"=";
sfile.open("bailw.dat",ios::in);
sfile.seekg(0,ios::beg);
int row = 7;

while(sfile.read((char*)this, sizeof(bail)))
{
flag = 0;
delay(20);
gotoxy(3,row);cout<<bail_no;
gotoxy(15,row);cout<<criminal_no;

gotoxy(30,row);cout<<bail_d.d<<"/"<<bail_d.m<<"/"<<bail_d.y;
gotoxy(43,row);cout<<b_amnt;
if(row==23)
{
flag =1;
row = 6;
gotoxy(4,24); cout<<"Press any key to
continue...";
getch();

6
clrscr();
}
row++;
}
gotoxy(1,row);
for(j=1;j<=79;j++)
cout<<"=";
sfile.close();
if(!flag)
{
gotoxy(4,24); cout<<"Press any key to continue..";
getch();
}
}

void bail::find_b(int bn)


{
menu m;
int found =0;
fstream bfile;
bfile.open("bailw.dat",ios::in);
bfile.seekg(0, ios::beg);
while(bfile.read((char*)this,sizeof(bail)))
{
if(bn == bail_no)
{
found = 1;
break;
}
}
if(found ==1)
{ clrscr();
m.box();
gotoxy(30,5); cout<<"Record Found";
gotoxy(30,12); cout<<"Criminal no";
gotoxy(45,12); cout<<criminal_no;
gotoxy(30,14); cout<<"Bail Date";
gotoxy(45,14); cout<<bail_d.d<<"/"<<bail_d.m<<"/"<<bail_d.y;
gotoxy(30,16); cout<<"Bail Amount";
gotoxy(45,16); cout<<b_amnt;
gotoxy(30,22); cout<<"Press any key..";
getch();
}

else
{

7
clrscr();
m.box1();
gotoxy(20,22); cout<<"Record does not exist";
}
bfile.close();
}

/**END OF BAIL CLASS IMPLEMENTATION**/


/** IMPLEMENTATION OF EMPLOYEE CLASS**/

void employee :: add_emp(char name[], char desig1[], float sal1, int psno)
{
int no;
int r;
ifstream in("empl.dat",ios::binary);
if(!in)
no=1000;
else
{
in.seekg(0,ios::end);
r=in.tellg();
r=r-sizeof(*this);
in.seekg(r);
in.read((char*)this,sizeof(*this));
no=emp_no;
}
in.close();
emp_no = no++;
gotoxy(25,28); cout<<"----------------------------";
gotoxy(30,29);cout<<"EMPLOYEE NUMBER is "<<emp_no;
gotoxy(25,30); cout<<"----------------------------";

strcpy(emp_name,name);
strcpy(desig,desig1);
sal=sal1;
p_s_number=psno;
fstream efile;
efile.open("empl.dat",ios::out|ios::app);
efile.write((char*)this,sizeof(employee));
efile.close();
}

int employee:: find_emp(int en)


{
fstream efile;
efile.open("empl.dat",ios::in);

8
efile.seekg(0,ios::beg);
int c=0;
while(efile.read((char*)this,sizeof(employee)))
{
c++;
if(en==emp_no) break;
}

efile.close();
return(c);
}

void employee::modi_emp(int en, char name[], char desig[],float s, int psno)


{
int find_rec;
find_rec = find_emp(en);
fstream efile;
efile.open("empl.dat",ios::out|ios::ate);
strcpy(emp_name,name);
strcpy(desig,desig);
p_s_number = psno;
int loc;
loc = (find_rec-1) * sizeof(employee);
efile.seekp(loc);
efile.write((char*)this,sizeof(employee));
efile.close();
return;
}

void employee::del_emp(int en)


{
int found = 0;
menu m;
fstream efile;
efile.open("empl.dat",ios::in);
fstream temp;
temp.open("templ.dat", ios::out);
efile.seekg(0, ios::beg);
while(!efile.eof())
{
efile.read((char*)this, sizeof(employee));
if(efile.eof()) break;
if(emp_no != en)
temp.write((char*)this, sizeof(employee));
else found = 1;
}

9
clrscr();
m.box1();
gotoxy(20,22);
if(found == 1)
cout<<"-----------Record Deleted-----------";
else cout<<"Sorry, This Number does not exist";

efile.close();
temp.close();
efile.open("empl.dat",ios::out);
temp.open("templ.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char*)this,sizeof(employee));
if(temp.eof())break;
efile.write((char*)this,sizeof(employee));
}

efile.close();
temp.close();
}

void employee::dis_emp()
{
clrscr();
int flag;
fstream sfile;
gotoxy(25,2); cout<<"Employee Information";
gotoxy(25,3); cout<<"=====================";
int d1,m1,y1;
struct date dd;
getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;
gotoxy(62, 3); cout<<"Date: "<<d1<<"/"<<m1<<"/"<<y1;
gotoxy(1,4);
for(int j=1; j<=79; j++)
cout<<"=";

gotoxy(1,5);cout<<"Emp Number:- ";


gotoxy(15,5);cout<<"Name:- ";
gotoxy(30,5);cout<<"Designation:- ";
gotoxy(43,5);cout<<"Salary:- ";
gotoxy(55,5);cout<<"Police Station No.";

10
gotoxy(1,6);
for(j=1;j<=79;j++)
cout<<"=";
sfile.open("empl.dat",ios::in);
sfile.seekg(0,ios::beg);
int row = 7;

while(sfile.read((char*)this, sizeof(employee)))
{
flag = 0;
delay(20);
gotoxy(3,row);cout<<emp_no;
gotoxy(15,row);cout<<emp_name;
gotoxy(30,row);cout<<desig;
gotoxy(43,row);cout<<sal;
gotoxy(58,row);cout<<p_s_number;
if(row==23)
{
flag =1;
row = 6;
gotoxy(4,24); cout<<"Press any key to
continue...";
getch();

clrscr();
}
row++;
}
gotoxy(1,row);
for(j=1;j<=79;j++)
cout<<"=";
sfile.close();
if(!flag)
{
gotoxy(4,24); cout<<"Press any key to continue..";
getch();
}
}

void employee::find_e(int en)


{
menu m;
int found =0;
fstream bfile;
bfile.open("empl.dat",ios::in);
bfile.seekg(0, ios::beg);

11
while(bfile.read((char*)this,sizeof(employee)))
{
if(en == emp_no)
{
found = 1;
break;
}
}
if(found ==1)
{ clrscr();
m.box();
gotoxy(30,5); cout<<"Record found";
gotoxy(30,12); cout<<"Employee no "<<emp_no;
gotoxy(30,14);cout<<"Employee Name "<<emp_name;
gotoxy(30,16); cout<<"Salary Amount "<<sal;
gotoxy(30,18);cout<<"Police Station No "<<p_s_number;
gotoxy(30,22);cout<<"Press any key...";
getch();
}
else
{
clrscr();
m.box1();
gotoxy(20,22); cout<<"Record does not exist";
}
bfile.close();
}

/**END OF EMPLOYEE CLASS IMPLEMENTATION**/

/** IMPLEMENTATION OF FUNCTIONS OF CRIMINAL CLASS**/


void criminal :: add_criminal(int cellno, int crimno, char name[], char p[],DATE
dor1)
{
long cr;
int r;
ifstream in("crim.dat",ios::binary);
if(!in)
cr=100;
else
{
in.seekg(0,ios::end);
r=in.tellg();
r=r-sizeof(*this);
in.seekg(r);
in.read((char*)this,sizeof(*this));

12
cr=crno;
}
in.close();

crno = ++cr;
gotoxy(25,28); cout<<"----------------------------";
gotoxy(30,29);cout<<"CRIMINAL NUMBER is "<<crno;
gotoxy(25,30); cout<<"----------------------------";
cell_no = cellno;
crime_no= crimno;
strcpy(cri_name,name);
strcpy(punish,p);
dor.d =dor1.d;
dor.m =dor1.m;
dor.y = dor1.y;
fstream cfile;
cfile.open("crim.dat",ios::out|ios::app);
cfile.write((char*)this,sizeof(criminal));
cfile.close();
}
int criminal:: find_criminal(int cn)
{
fstream cfile;
cfile.open("crim.dat",ios::in);
cfile.seekg(0,ios::beg);
int c=0;
while(cfile.read((char*)this,sizeof(criminal)))
{
c++;
if(cn==crno) break;
}

cfile.close();
return(c);
}

void criminal::modi_criminal(int cn,int cellno, int crimno, char name[], char p[])
{
int find_rec;
find_rec = find_criminal(cn);
fstream cfile;
cfile.open("crim.dat",ios::out|ios::ate);
crno = cn;
cell_no = cellno;
crime_no= crimno;

13
strcpy(cri_name,name);
strcpy(punish, p);

int loc;
loc = (find_rec-1) * sizeof(criminal);
cfile.seekp(loc);
cfile.write((char*)this,sizeof(criminal));
cfile.close();
return;
}

void criminal::del_criminal(int cn)


{
int found = 0;
menu m;
fstream cfile;
cfile.open("crim.dat",ios::in);
fstream temp;
temp.open("tcrim.dat", ios::out);
cfile.seekg(0, ios::beg);
while(!cfile.eof())
{
cfile.read((char*)this, sizeof(criminal));
if(cfile.eof()) break;
if(crno != cn)
temp.write((char*)this, sizeof(criminal));
else found = 1;

}
clrscr();
m.box1();
gotoxy(20,22);
if(found == 1)
cout<<"-----------Record Deleted-----------";
else cout<<"Sorry, This Number does not exist";

cfile.close();
temp.close();
cfile.open("crim.dat",ios::out);
temp.open("tcrim.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char*)this,sizeof(criminal));
if(temp.eof())break;
cfile.write((char*)this,sizeof(criminal));

14
}

cfile.close();
temp.close();
}

void criminal::dis_criminal()
{
clrscr();
int flag;
fstream sfile;
gotoxy(25,2); cout<<"Criminal Information";
gotoxy(25,3); cout<<"=====================";
int d1,m1,y1;
struct date dd;
getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;
gotoxy(62, 3); cout<<"Date: "<<d1<<"/"<<m1<<"/"<<y1;
gotoxy(1,4);
for(int j=1; j<=79; j++)
cout<<"=";

gotoxy(1,5);cout<<"Criminal No:- ";


gotoxy(10,5);cout<<"Cell No:- ";
gotoxy(19,5);cout<<"Crime No:- ";
gotoxy(30,5);cout<<"Criminal:- ";
gotoxy(42,5); cout<<"Punishment:-";
gotoxy(55,5); cout<<"Report date:-";

gotoxy(1,6);
for(j=1;j<=79;j++)
cout<<"=";
sfile.open("crim.dat",ios::in);
sfile.seekg(0,ios::beg);
int row = 7;

while(sfile.read((char*)this, sizeof(criminal)))
{
flag = 0;
delay(20);
gotoxy(3,row);cout<<crno;
gotoxy(15,row);cout<<cell_no;
gotoxy(22,row);cout<<crime_no;
gotoxy(32,row);cout<<cri_name;

15
gotoxy(44,row); cout<<punish;
gotoxy(57,row);
cout<<dor.d<<"/"<<dor.m<<"/"<<dor.y;
if(row==23)
{
flag =1;
row = 6;
gotoxy(4,24); cout<<"Press any key to
continue...";
getch();

clrscr();
}
row++;
}
gotoxy(1,row);
for(j=1;j<=79;j++)
cout<<"=";
sfile.close();
if(!flag)
{
gotoxy(4,24); cout<<"Press any key to continue..";
getch();
}
}

void criminal::find_c(int cn)


{
menu m;
int found =0;
fstream cfile;
cfile.open("crim.dat",ios::in);
cfile.seekg(0, ios::beg);
while(cfile.read((char*)this,sizeof(criminal)))
{
if(cn == crno)
{
found = 1;
break;
}
}
if(found ==1)
{ m.box();
gotoxy(30,5); cout<<"Record Found";
gotoxy(30,9); cout<<"Criminal no";
gotoxy(50,9); cout<<crno;

16
gotoxy(30,11);cout<<"Report Date";
gotoxy(50,11);cout<<dor.d<<"/"<<dor.m<<"/"<<dor.y;
gotoxy(30,13); cout<<"Cell_no";
gotoxy(50,13);cout<<cell_no;
gotoxy(30,15); cout<<"Criminal name";
gotoxy(50,15);cout<<cri_name;
gotoxy(30,17); cout<<"Punishment";
gotoxy(50,17);cout<<punish;
gotoxy(30,19); cout<<"Crime number";
gotoxy(50,19); cout<<crime_no;
gotoxy(30,22);cout<<"Press any key..";
getch();
}
else
{ clrscr();
m.box1();
gotoxy(20,22); cout<<"Record does not exist";
}
cfile.close();
}
/*END OF CRIMINAL CLASS*/
//---------------------------------------------------------------------//
/** IMPLEMENTATION OF FUNCTIONS OF POLICE STATION CLASS**/
void police_sta :: add_ps(char add[], int tot, int tote)
{
long po;
int r;
ifstream in("pol.dat",ios::binary);
if(!in)
po=1;
else
{
in.seekg(0,ios::end);
r=in.tellg();
r=r-sizeof(*this);
in.seekg(r);
in.read((char*)this,sizeof(*this));
po=ps_number;
}
in.close();
ps_number = po++;
gotoxy(25,28); cout<<"-----------------------------------";
gotoxy(30,29);cout<<"POLICE STATION NUMBER IS"<<ps_number;
gotoxy(25,30); cout<<"-----------------------------------";
strcpy(address,add);
tot_crim= tot;

17
total_emp = tote;
fstream cfile;
cfile.open("pol.dat",ios::out|ios::app);
cfile.write((char*)this,sizeof(police_sta));
cfile.close();
}
//funtion to find police station//
int police_sta:: find_ps(int ps)
{
fstream cfile;
cfile.open("pol.dat",ios::in);
cfile.seekg(0,ios::beg);
int c=0;
while(cfile.read((char*)this,sizeof(police_sta)))
{
c++;
if(ps==ps_number) break;
}
cfile.close();
return(c);
}

void police_sta::modi_ps(int ps,char add[], int tot, int tote)


{
int find_rec;
find_rec = find_ps(ps);
fstream cfile;
cfile.open("pol.dat",ios::out|ios::ate);
ps_number = ps;
strcpy(address,add);
tot_crim= tot;
total_emp=tote;
int loc;
loc = (find_rec-1) * sizeof(police_sta);
cfile.seekp(loc);
cfile.write((char*)this,sizeof(police_sta));
cfile.close();
return;
}

void police_sta::del_ps(int ps)


{
int found = 0;
menu m;
fstream cfile;

18
cfile.open("pol.dat",ios::in);
fstream temp;
temp.open("tpol.dat", ios::out);
cfile.seekg(0, ios::beg);
while(!cfile.eof())
{ if(!cfile)
{
gotoxy(26,27); cout<<"Record not exist";
return;
}
cfile.read((char*)this, sizeof(police_sta));
if(cfile.eof()) break;
if(ps_number != ps)
temp.write((char*)this, sizeof(police_sta));
else found = 1;
}
clrscr();
m.box1();
gotoxy(20,22);
if(found == 1)
cout<<"-----------Record Deleted-----------";
else cout<<"Sorry, This Number does not exist";

cfile.close();
temp.close();
cfile.open("pol.dat",ios::out);
temp.open("tpol.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char*)this,sizeof(police_sta));
if(temp.eof())break;
cfile.write((char*)this,sizeof(police_sta));
}

cfile.close();
temp.close();
}

void police_sta::dis_ps()
{
clrscr();
int flag;
fstream sfile;
gotoxy(25,2); cout<<"Police Station Information";
gotoxy(25,3); cout<<"===========================";

19
int d1,m1,y1;
struct date dd;
getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;
gotoxy(62, 3); cout<<"Date: "<<d1<<"/"<<m1<<"/"<<y1;
gotoxy(1,4);
for(int j=1; j<=79; j++)
cout<<"=";

gotoxy(1,5);cout<<"Pol. Sta. No:- ";


gotoxy(17,5);cout<<"Address:- ";
gotoxy(35,5);cout<<"Total Criminal:- ";
gotoxy(56,5);cout<<"Total Employees:- ";
gotoxy(1,6);
for(j=1;j<=79;j++)
cout<<"=";
sfile.open("pol.dat",ios::in);
sfile.seekg(0,ios::beg);
int row = 7;

while(sfile.read((char*)this, sizeof(police_sta)))
{
flag = 0;
delay(20);
gotoxy(3,row);cout<<ps_number;
gotoxy(15,row);cout<<address;
gotoxy(35,row);cout<<tot_crim;
gotoxy(55,row);cout<<total_emp;
if(row==23)
{
flag =1;
row = 6;
gotoxy(4,24); cout<<"Press any key to
continue...";
getch();

clrscr();
}
row++;
}
gotoxy(1,row);
for(j=1;j<=79;j++)
cout<<"=";
sfile.close();

20
if(!flag)
{
gotoxy(4,24); cout<<"Press any key to continue..";
getch();
}
}

void police_sta::find_p(int ps)


{
menu m;
int found =0;
fstream cfile;
cfile.open("pol.dat",ios::in);
cfile.seekg(0, ios::beg);
while(cfile.read((char*)this,sizeof(police_sta)))
{
if(ps == ps_number)
found = 1;
break;
}
if(found ==1)
{
clrscr();
m.box();
gotoxy(30,5);cout<<"Record found";
gotoxy(25,10); cout<<"Pol. Sta. no";
gotoxy(40,10); cout<<ps_number;
gotoxy(25,12); cout<<"Address";
gotoxy(45,12); cout<<address;
gotoxy(25,14); cout<<"Total Criminal";
gotoxy(45,14); cout<<tot_crim;
gotoxy(25,16); cout<<"Total Employees";
gotoxy(45,16); cout<<total_emp;
gotoxy(30,22); cout<<"Press any key....";
getch();

}
else
{
clrscr();
m.box1();
gotoxy(20,22); cout<<"Record does not exist";
}
cfile.close();
}

21
/*END OF POLICE STATION CLASS*/

/** IMPLEMENTATION OF FUNCTIONS OF CRIME CLASS**/


void crimes :: add_crime(char crtype[], char act[], char p[], float amnt)
{
long cri;
int r;
ifstream in("crimes.dat",ios::binary);
if(!in)
cri=1;
else
{
in.seekg(0,ios::end);
r=in.tellg();
r=r-sizeof(*this);
in.seekg(r);
in.read((char*)this,sizeof(*this));
cri=crime_no;
}
in.close();
crime_no = cri++;
gotoxy(25,28); cout<<"----------------------------";
gotoxy(30,29);cout<<"CRIME NUMBER is "<<crime_no;
gotoxy(25,30); cout<<"----------------------------";
strcpy(cr_type, crtype);
strcpy(cr_type,crtype);
strcpy(punish,p);
strcpy(act_des,act);
bail_amnt = amnt;
fstream crfile;
crfile.open("crime.dat",ios::out|ios::app);
crfile.write((char*)this,sizeof(crimes));
crfile.close();
}
int crimes:: find_crime(int cn)
{
fstream crfile;
crfile.open("crime.dat",ios::in);
crfile.seekg(0,ios::beg);
int c=0;
while(crfile.read((char*)this,sizeof(crimes)))
{
c++;
if(crime_no==cn) break;
}

22
crfile.close();
return(c);
}

void crimes::modi_crime(int cn,char crtype[], char act[], char pun[], float amnt)
{
int find_rec;
find_rec = find_crime(cn);
fstream crfile;
crfile.open("crime.dat",ios::out|ios::ate);
crime_no = cn;
strcpy(cr_type,crtype);
strcpy(act_des,act);
strcpy(punish, pun);
bail_amnt = amnt;
int loc;
loc = (find_rec-1) * sizeof(crimes);
crfile.seekp(loc);
crfile.write((char*)this,sizeof(crimes));
crfile.close();
return;
}

void crimes::del_crime(int cn)


{
int found = 0;
menu m;
fstream crfile;
crfile.open("crime.dat",ios::in);
fstream temp;
temp.open("tcrime.dat", ios::out);
crfile.seekg(0, ios::beg);
while(!crfile.eof())
{
crfile.read((char*)this, sizeof(crimes));
if(crfile.eof()) break;
if(crime_no != cn)
temp.write((char*)this, sizeof(crimes));
else found = 1;
}
clrscr();
m.box1();
gotoxy(20,22);
if(found == 1)

23
cout<<"-----------Record Deleted-----------";
else cout<<"Sorry, This Number does not exist";

crfile.close();
temp.close();
crfile.open("crime.dat",ios::out);
temp.open("tcrime.dat",ios::in);
temp.seekg(0,ios::beg);
while(!temp.eof())
{
temp.read((char*)this,sizeof(crimes));
if(temp.eof())break;
crfile.write((char*)this,sizeof(crimes));
}

crfile.close();
temp.close();
}

void crimes::dis_crime()
{
clrscr();
int flag;
fstream sfile;
gotoxy(25,2); cout<<"Crime Information";
gotoxy(25,3); cout<<"=====================";
gotoxy(1,4);
for(int j=1; j<=79; j++)
cout<<"=";

gotoxy(1,5);cout<<"Crime No:- ";


gotoxy(14,5);cout<<"Crime Name:- ";
gotoxy(28,5);cout<<"Act No:- ";
gotoxy(39,5);cout<<"Punishment:- ";
gotoxy(55,5); cout<<"Bail Amount-";
gotoxy(1,6);
for(j=1;j<=79;j++)
cout<<"=";
sfile.open("crime.dat",ios::in);
sfile.seekg(0,ios::beg);
int row = 7;

while(sfile.read((char*)this, sizeof(crimes)))
{
flag = 0;
delay(20);

24
gotoxy(3,row);cout<<crime_no;
gotoxy(16,row);cout<<cr_type;
gotoxy(30,row);cout<<act_des;
gotoxy(41,row);cout<<punish;
gotoxy(57,row); cout<<bail_amnt;

if(row==23)
{
flag =1;
row = 6;
gotoxy(4,24); cout<<"Press any key to
continue...";
getch();

clrscr();
}
row++;
}
gotoxy(1,row);
for(j=1;j<=79;j++)
cout<<"=";
sfile.close();
if(!flag)
{
gotoxy(4,24); cout<<"Press any key to continue..";
getch();
}
}

void crimes::find_cr(int cn)


{
menu m;
int found =0;
fstream crfile;

crfile.open("crime.dat",ios::in);
crfile.seekg(0, ios::beg);
while(crfile.read((char*)this,sizeof(crimes)))
{
if(crime_no == cn)
found = 1;
break;
}
if(found ==1)
{ clrscr();
m.box();

25
gotoxy(25,5);cout<<"Record Found";
gotoxy(25,9); cout<<"Crime no "<<crime_no;
gotoxy(25,11);cout<<"Crime type "<<cr_type;
gotoxy(25,13); cout<<"Act no "<<act_des;
gotoxy(25,15); cout<<"Punishment"<<punish;
gotoxy(25,17); cout<<"Bail amount"<<bail_amnt;
gotoxy(25,22); cout<<"Press any key...";
getch();

}
else
{ clrscr();
m.box1();
gotoxy(25,22); cout<<"Record does not exist";
}
crfile.close();
}

void menu::main_menu()
{
int ch1;
char ch='Y';
clrscr();
do
{
clrscr();
box();
gotoxy(27, 4); cout<<"=============================";
gotoxy(30, 5);cout<<"*******MAIN MENU*******";
gotoxy(27, 6); cout<<"=============================";
gotoxy(25, 10); cout<<"1.Bail";
gotoxy(25,12);cout<<"2.Crimes";
gotoxy(45, 10);cout<<"3.Criminals";
gotoxy(45, 12); cout<<"4.Employee";
gotoxy(25,14);cout<<"5.Police Station";
gotoxy(45,14); cout<<"6.Exit";
gotoxy(30,23);cout<<"Enter your choice";
cin>>ch1;
switch(ch1)
{
case 1:
clrscr();
Bail_menu();
break;
case 2:
clrscr();

26
crimes_menu();
break;
case 3:
clrscr();
criminal_menu();
break;
case 4:
clrscr();
empl_menu();
break;
case 5:
clrscr();
pol_menu();
break;
case 6:
exit(0);
}
gotoxy(30,26); cout<<"BACK TO MAIN MENU(Y/N)";
cin>>ch;
}while(ch=='y'||ch=='Y');
}

void menu::Bail_menu()
{
int ch1;
char ch2='Y';
bail b;
int tbail_no, tcriminal_no;
DATE tbail_d;
float tb_amnt;
struct date dd;
int d1,m1,y1;
do
{
clrscr();
box();
gotoxy(33,5); cout<<"****Bail Form****";
gotoxy(30,8); cout<<"1.Addition";
gotoxy(30, 10);cout<<"2.Deletion";
gotoxy(30, 12);cout<<"3.Modification";
gotoxy(30, 14);cout<<"4.Search";
gotoxy(30, 16);cout<<"5.Display";
gotoxy(30,18); cout<<"6. Exit";
gotoxy(30,22);cout<<"Enter your Choice-->";
cin>>ch1;

27
switch(ch1)
{
case 1:

getdate(&dd);
d1 = dd.da_day;
m1 = dd.da_mon;
y1 = dd.da_year;
do
{
clrscr();
box();
gotoxy(30,5);cout<<"*****Bail Record*****";
gotoxy(20,10);cout<<"Criminal No:- ";
gotoxy(20,12);cout<<"Bail Date:- ";
gotoxy(20,14);cout<<"Bail Amount:- ";
gotoxy(40,10); cin>>tcriminal_no;
gotoxy(40,12); cout<<d1;
gotoxy(45,12); cout<<m1;
gotoxy(50,12); cout<<y1;
gotoxy(40,14); cin>>tb_amnt;
b.add_bail(tcriminal_no, tb_amnt);
gotoxy(20, 22); cout<<"Do you want to add more record(Y/N)";
cin>>ch2;

}while(ch2=='Y'||ch2=='y');
break;
case 2:
clrscr();
box1();
gotoxy(20,22); cout<<"Enter bail no to delete";
gotoxy(45,22);cin>>tbail_no;
b.del_bail(tbail_no);
getch();
break;
case 3:
b.mod_b();
break;

case 4:
clrscr();
box1();
gotoxy(20,22); cout<<"Enter bail number to search information";
gotoxy(60,22); cin>>tbail_no;

28
b.find_b(tbail_no);
getch();
break;
case 5:
clrscr();
b.dis_bail();
getch();
break;

case 6:
gotoxy(20,30); cout<<"<<THANK YOU>>";
clrscr();
main_menu();
}
}while(ch1!=6);
}
void bail::mod_b(void)
{
int bn;
int flag =0;
int tcr_no;
float bamnt;
clrscr();
menu m;
m.box1();
gotoxy(20,22); cout<<"Enter Bail number to modify";
cin>>bn;
fstream bfile;
bfile.open("bailw.dat",ios::in);
bfile.seekg(0, ios::beg);
while(bfile.read((char*)this,sizeof(bail)))
{
if(bn == bail_no)

{ clrscr();
m.box();
gotoxy(25,5);cout<<"Existing Information of Bail no"<<"\t"<<bn;
gotoxy(30,12); cout<<"Criminal no"<<"\t\t"<<criminal_no;
gotoxy(30,14);cout<<"Bail
Date"<<"\t"<<bail_d.d<<"/"<<bail_d.m<<"/"<<bail_d.y;
gotoxy(30,16); cout<<"Bail Amount"<<"\t"<<b_amnt;
flag = 1;
gotoxy(25,22);cout<<"Do you want to modify (y/n)";
gotoxy(58,22);cin>>cho;
clrscr();
if(cho=='y'||cho=='Y')

29
{
menu m;
m.box();
gotoxy(25,5);cout<<"Enter values to modify record";

gotoxy(22,6);cout<<"==================================";
gotoxy(20,10);cout<<"Criminal No:- ";
gotoxy(20,14);cout<<"Bail Amount:- ";
gotoxy(40,10); cin>>tcr_no;
gotoxy(40,14); cin>>bamnt;
break;
} }
}
bfile.close();
clrscr();
m.box1();
if(flag==1 && (cho=='y' || cho=='Y'))
{
gotoxy(30,22); cout<<"Record modified";
modi_bail(bn, tcr_no, bamnt);
}
else
{
gotoxy(30,22); cout<<"Record not modified";
}
gotoxy(25,27);cout<<"------------------------------";
gotoxy(25,28); cout<<"Press any key to continue....";
gotoxy(25,29);cout<<"------------------------------";
getch();

}
void menu::empl_menu()
{
int ch1;
char ch2='Y';
employee e;
int temp_no, tpsno;
float amnt;
char tname[30],tdesig[30];

do
{
clrscr();
box();
gotoxy(33,5); cout<<"****Employee Form****";
gotoxy(30,8); cout<<"1.Addition";

30
gotoxy(30, 10);cout<<"2.Deletion";
gotoxy(30, 12);cout<<"3.Modification";
gotoxy(30, 14);cout<<"4.Search";
gotoxy(30, 16);cout<<"5.Display";
gotoxy(30,18); cout<<"6. Exit";
gotoxy(30,22);cout<<"Enter your Choice-->";
cin>>ch1;

switch(ch1)
{
case 1:

do
{
clrscr();
box();
gotoxy(30,5);cout<<"*****Employee Record*****";
gotoxy(20,10);cout<<"Name:- ";
gotoxy(20,12);cout<<"Designation:- ";
gotoxy(20,14);cout<<"Salary Amount:- ";
gotoxy(20,16);cout<<"Police Station no:-";
gotoxy(40,10); gets(tname);
gotoxy(40,12);gets(tdesig);
gotoxy(40,14); cin>>amnt;
gotoxy(40,16);cin>>tpsno;
e.add_emp(tname,tdesig,amnt,tpsno);
gotoxy(20, 22); cout<<"Do you want to add more record(Y/N)";
cin>>ch2;

}while(ch2=='Y'||ch2=='y');
break;
case 2:
clrscr();
box1();
gotoxy(20,22); cout<<"Enter Employee no to delete";
gotoxy(50,22);cin>>temp_no;
e.del_emp(temp_no);
getch();
break;
case 3:
e.mod_e();
break;

case 4:
clrscr();
box1();

31
gotoxy(20,22); cout<<"Enter Employee number to search information";
gotoxy(60,22); cin>>temp_no;
e.find_e(temp_no);
getch();
break;
case 5:
clrscr();
e.dis_emp();
getch();
break;

case 6:
gotoxy(20,30); cout<<"<<THANK YOU>>";
clrscr();
main_menu();
}
}while(ch1!=6);
}

void employee::mod_e(void)
{
int en;
int flag =0;
int psno;
float amnt;
char name[30],tdesig[30];
clrscr();
menu m;
m.box1();
gotoxy(20,22); cout<<"Enter Employee number to modify";
gotoxy(53,22); cin>>en;
fstream efile;
efile.open("empl.dat",ios::in);
efile.seekg(0, ios::beg);
while(efile.read((char*)this,sizeof(employee)))
{
if(en == emp_no)

{ clrscr();
m.box();
gotoxy(25,5);cout<<"Existing Information of Employee"<<"\t"<<en;
gotoxy(30,12); cout<<"Name";
gotoxy(50,12); cout<<emp_name;
gotoxy(30,14);cout<<"Designation";
gotoxy(50,14); cout<<desig;
gotoxy(30,16); cout<<"Salary";

32
gotoxy(50,16);cout<<sal;
gotoxy(30,18);cout<<"Pol Station No.";
gotoxy(50,18);cout<<p_s_number;
gotoxy(25,22);cout<<"Do you want to modify (y/n)";
gotoxy(58,22);cin>>cho;
flag = 1;
getch();
clrscr();
if(cho=='y' || cho == 'Y')
{
menu m;
m.box();
gotoxy(25,5);cout<<"Enter values to modify record";

gotoxy(22,6);cout<<"==================================";
gotoxy(20,10);cout<<"Employee Name:- ";
gotoxy(20,12);cout<<"Designation:- ";
gotoxy(20,14);cout<<"Salary";
gotoxy(20,16);cout<<"Pol Sta. No.";
gotoxy(40,10); gets(name);
gotoxy(40,12); gets(tdesig);
gotoxy(40,14); cin>>amnt;
gotoxy(40,16); cin>>psno;
break;
} }
}
efile.close();
clrscr();
m.box1();
if(flag==1 && (cho=='y' || cho =='Y'))

{
gotoxy(30,22); cout<<"Record modified";
modi_emp(en, name, tdesig, amnt,psno);
}
else
{
gotoxy(30,22); cout<<"Record not modified";
}
gotoxy(25,27);cout<<"------------------------------";
gotoxy(25,28); cout<<"Press any key to continue....";
gotoxy(25,29);cout<<"------------------------------";
getch();

}
void menu::criminal_menu()

33
{
struct date dd;
int tcriminal_no;
int tcell_no;
int tcrime_no;
char tcri_name[30];
char tpunish[30];
DATE tdor;
int ch1;
char ch2='Y';
criminal cri;
do{

clrscr();
box();
gotoxy(30,5); cout<<"****Criminal Form****";
gotoxy(30,8); cout<<"1.Addition";
gotoxy(30, 10);cout<<"2.Deletion";
gotoxy(30, 12);cout<<"3.Modification";
gotoxy(30, 14);cout<<"4.Search";
gotoxy(30, 16);cout<<"5.Display";
gotoxy(30,18);cout<<"6.Exit";
gotoxy(30,22);cout<<"Enter your Choice-->";
cin>>ch1;

switch(ch1)
{
case 1:
getdate(&dd);
tdor.d = dd.da_day;
tdor.m = dd.da_mon;
tdor.y = dd.da_year;

do
{
clrscr();
box();
gotoxy(30,5);cout<<"**Criminal Record**";
gotoxy(20,10);cout<<"Criminal Name:- ";
gotoxy(20,12);cout<<"Cell number:-";
gotoxy(20,14);cout<<"Crime Number:-";
gotoxy(20,16);cout<<"Punishment:-";
gotoxy(20,18); cout<<"Date of Report:-";
gotoxy(40,10); gets(tcri_name);
gotoxy(40,12); cin>>tcell_no;
gotoxy(40,14); cin>>tcrime_no;

34
gotoxy(40,16);gets(tpunish);
gotoxy(40,18); cout<<tdor.d;
gotoxy(45,18);cout<<tdor.m;
gotoxy(50,18); cout<<tdor.y;

cri.add_criminal(tcell_no,tcrime_no,tcri_name,tpunish,tdor);
gotoxy(20, 22); cout<<"Do you want to add more record(Y/N)";
cin>>ch2;

}while(ch2=='Y'||ch2=='y');
break;
case 2:
clrscr();
box1();
gotoxy(18,22); cout<<"Enter criminal number to delete information";
gotoxy(64,22);cin>>tcriminal_no;
cri.del_criminal(tcriminal_no);
getch();
break;
case 3:
cri.mod_c();
break;

case 4:
clrscr();
menu m;
m.box1();
gotoxy(20,22); cout<<"Enter Criminal Number to Search information";
gotoxy(65,22);cin>>tcriminal_no;
clrscr();
cri.find_c(tcriminal_no);
getch();
break;
case 5:
clrscr();
cri.dis_criminal();
getch();
break;
case 6:
clrscr();
main_menu();
getch();
break;

}
}while(ch1!=6);

35
}
void criminal::mod_c(void)
{
menu m;
char cho;
int cn, flag = 0;
int tcell_no;
int tcrime_no;
char tcri_name[30];
char tpunish[30];
DATE tdor;
clrscr();
m.box1();
gotoxy(25,22); cout<<"Enter criminal no to modify";
gotoxy(55,22);cin>>cn;
fstream cfile;
cfile.open("crim.dat",ios::in);
cfile.seekg(0,ios::beg);
while(cfile.read((char*)this,sizeof(criminal)))
{

if(cn == crno)
{
clrscr();
m.box();
gotoxy(20,5); cout<<"Existing information of Criminal no "<<cn;
gotoxy(30,9); cout<<"Cell_no";
gotoxy(48,9);cout<<cell_no;
gotoxy(30,11); cout<<"Crime no";
gotoxy(48,11);cout<<crime_no;
gotoxy(30,13); cout<<"Criminal name";
gotoxy(48,13);cout<<cri_name;
gotoxy(30,15); cout<<"Punishment";
gotoxy(48,15);cout<<punish;
gotoxy(30,17); cout<<"Date of Report";
gotoxy(48,17);cout<<dor.d<<"/"<<dor.m<<"/"<<dor.y;
flag = 1;
gotoxy(25,22);cout<<"Do you want to modify (y/n)";
gotoxy(58,22);cin>>cho;
getch();
if(cho=='y' || cho =='Y')
{
menu m;
clrscr();
m.box();
gotoxy(30,5);cout<<"Enter values to modify record";

36
gotoxy(20,10);cout<<"Criminal Name:- ";
gotoxy(20,12);cout<<"Cell number:-";
gotoxy(20,14);cout<<"Crime Number:-";
gotoxy(20,16);cout<<"Punishment:-";
gotoxy(40,10); gets(tcri_name);
gotoxy(40,12); cin>>tcell_no;
gotoxy(40,14); cin>>tcrime_no;
gotoxy(40,16);gets(tpunish);
break;

}
}
}
cfile.close();
if(flag == 1 && (cho == 'y' || cho == 'Y'))
{
gotoxy(30,22); cout<<"Record modified";
modi_criminal(cn, tcell_no,tcrime_no,tcri_name,tpunish);
}

else
{
clrscr();
m.box1();
gotoxy(30,22); cout<<"Record not Modified";
}
gotoxy(25,26);cout<<"-----------------------------";
gotoxy(25,27); cout<<"Press any key to continue...";
gotoxy(25,28);cout<<"-----------------------------";
getch();
}

void menu::pol_menu()
{
int tpsno;
char tadd[30];
int totc,tote;
int ch1;
char ch2='Y';
police_sta po;
do{

clrscr();
box();
gotoxy(30,5); cout<<"****Police Station Form****";
gotoxy(30,8); cout<<"1.Addition";

37
gotoxy(30, 10);cout<<"2.Deletion";
gotoxy(30, 12);cout<<"3.Modification";
gotoxy(30, 14);cout<<"4.Search";
gotoxy(30, 16);cout<<"5.Display";
gotoxy(30,18);cout<<"6.Exit";
gotoxy(30,22);cout<<"Enter your Choice-->";
cin>>ch1;

switch(ch1)
{
case 1:

do
{
clrscr();
box();
gotoxy(30,5);cout<<"**Police Station Record**";
gotoxy(20,10);cout<<":Address- ";
gotoxy(20,12);cout<<"Total Criminal:-";
gotoxy(20,14);cout<<"Total Employees:-";
gotoxy(40,10); gets(tadd);
gotoxy(40,12); cin>>totc;
gotoxy(40,14); cin>>tote;
po.add_ps(tadd,totc,tote);
gotoxy(20, 22); cout<<"Do you want to add more record(Y/N)";
cin>>ch2;

}while(ch2=='Y'||ch2=='y');
break;
case 2:
clrscr();
box1();
gotoxy(18,22); cout<<"Enter Police station number to delete information";
gotoxy(64,22);cin>>tpsno;
po.del_ps(tpsno);
getch();
break;
case 3:
po.mod_ps();
break;

case 4:
clrscr();
box1();
gotoxy(18,22); cout<<"Enter Police Station Number to Search
information";

38
gotoxy(65,22);cin>>tpsno;
po.find_ps(tpsno);
getch();
break;
case 5:
clrscr();
po.dis_ps();
getch();
break;
case 6:
clrscr();
main_menu();
getch();
break;

}
}while(ch1!=6);
}
void police_sta::mod_ps(void)
{
menu m;
char cho;
int psno, flag = 0;
int totc,tote;
char tadd[30];
clrscr();
m.box1();
gotoxy(25,22); cout<<"Enter Police station no to modify";
gotoxy(58,22);cin>>psno;
fstream cfile;
cfile.open("pol.dat",ios::in);
cfile.seekg(0,ios::beg);
while(cfile.read((char*)this,sizeof(police_sta)))
{

if(psno == ps_number)
{
clrscr();
m.box();
gotoxy(20,5); cout<<"Existing information of Police Station "<<psno;
gotoxy(30,9); cout<<"Address";
gotoxy(48,9);cout<<address;
gotoxy(30,11); cout<<"Total Criminal";
gotoxy(48,11);cout<<tot_crim;
gotoxy(30,13); cout<<"total employee";
gotoxy(48,13);cout<<total_emp;

39
getch();
flag = 1;
gotoxy(25,22);cout<<"Do you want to modify (y/n)";
gotoxy(58,22);cin>>cho;

if(cho=='y' || cho =='Y')


{
menu m;
clrscr();
m.box();
gotoxy(30,5);cout<<"Enter values to modify record";
gotoxy(20,10);cout<<"Address:- ";
gotoxy(20,12);cout<<"Total Employees:-";
gotoxy(20,14);cout<<"Total Criminals:-";
gotoxy(40,10); gets(tadd);
gotoxy(40,12); cin>>tote;
gotoxy(40,14); cin>>totc;
break;

}
}
}
cfile.close();
if(flag == 1 && (cho == 'y' || cho == 'Y'))
{
gotoxy(30,22); cout<<"Record modified";
modi_ps(psno, tadd,totc,tote);
}

else
{
clrscr();
m.box1();
gotoxy(30,22); cout<<"Record not Modified";
}
gotoxy(25,26);cout<<"-----------------------------";
gotoxy(25,27); cout<<"Press any key to continue...";
gotoxy(25,28);cout<<"-----------------------------";
getch();
}
void menu::crimes_menu()
{

int tcrime_no;
char tcr_type[20];

40
char tact_des[30];
char tpunish[30];
float amnt;
int ch1;
char ch2='Y';
crimes cr;
do{
clrscr();
box();
gotoxy(33,5);cout<<"***Crime Record***";
gotoxy(30,9); cout<<"1.Addition";
gotoxy(30, 11);cout<<"2.Deletion";
gotoxy(30, 13);cout<<"3.Modification";
gotoxy(30, 15);cout<<"4.Search";
gotoxy(30, 17);cout<<"5.Display";
gotoxy(30,19);cout<<"6. Exit";
gotoxy(30,22);cout<<"Enter your Choice-->";
cin>>ch1;

switch(ch1)
{
case 1:
do
{
clrscr();
box();
gotoxy(30,5);cout<<"****Crimes Form****";
gotoxy(20,10);cout<<"Crime Name:- ";
gotoxy(20,12);cout<<"Act Description:-";
gotoxy(20,14);cout<<"Punishment:-";
gotoxy(40,10); gets(tcr_type);
gotoxy(40,12);gets(tact_des);
gotoxy(40,14);gets(tpunish);
cr.add_crime(tcr_type,tact_des,tpunish,amnt);
gotoxy(20, 22); cout<<"Do you want to add more record(Y/N)";
cin>>ch2;
}while(ch2=='Y'||ch2=='y');
break;
case 2:
clrscr();
box1();
gotoxy(20,22); cout<<"Enter crime no to delete information";
gotoxy(60,22);cin>>tcrime_no;
cr.del_crime(tcrime_no);
getch();
break;

41
case 3:
cr.mod_cr();
break;

case 4:
clrscr();
box1();
gotoxy(20,22); cout<<"Enter Crime Number to Search information";
gotoxy(62,22);cin>>tcrime_no;
cr.find_cr(tcrime_no);
getch();
break;
case 5:
clrscr();
cr.dis_crime();
getch();
break;
case 6:
clrscr();
menu::main_menu();
getch();
break;
}
}while(ch1!=6);
}
float check_amnt(char s[])
{
float amnt;
if(strcmp(s,"Robbery")==0)
{
gotoxy(20,35); cout<<"AMOUNT MUST BE B/W 2000 - 5000";

amnt = 2000;
}
else if(strcmp(s,"Rape")==0)
amnt = 10000;
else if(strcmp(s,"Murder")==0)
amnt = 20000;
return(amnt);
}
void crimes::mod_cr(void)
{
int crno, flag = 0;
char tcr_type[20];
char tact_des[30];

42
char tpunish[30];
float amnt;
menu m;
clrscr();
m.box1();
gotoxy(20,22); cout<<"Enter crime no to modify";
cin>>crno;
clrscr();
fstream crfile;
crfile.open("crime.dat",ios::in);
crfile.seekg(0,ios::beg);
while(crfile.read((char*)this,sizeof(crimes)))
{
if(crime_no == crno)
{
clrscr();
m.box();
gotoxy(20,5);cout<<"Existing Information of Crime";
gotoxy(25,12); cout<<"Crime";
gotoxy(45,12);cout<<cr_type;
gotoxy(25,14); cout<<"Act Description";
gotoxy(45,14);cout<<act_des;
gotoxy(25,16); cout<<"Punishment";
gotoxy(45,16);cout<<punish;
//gotoxy(25,18); cout<<"Bail Amount"<<"\t"<<bail_amnt;
flag = 1;
getch();
gotoxy(25,22);cout<<"Do you want to modify (y/n)";
gotoxy(58,22);cin>>cho;

if(cho=='y' || cho =='Y')


{
clrscr();
m.box();
gotoxy(25,5);cout<<"Enter values to modify record";
gotoxy(25,6);cout<<"===============================";
gotoxy(20,10);cout<<"Crime Name:- ";
gotoxy(20,12);cout<<"Act Description:-";
gotoxy(20,14);cout<<"Punishment:-";
// gotoxy(20,14);cout<<"Bail Amount:-";
// gotoxy(40,8); cin>>crno;
gotoxy(40,10); gets(tcr_type);
gotoxy(40,12); cin>>tact_des;
gotoxy(40,14); cin>>tpunish;
// amnt = check_amnt(tcr_type);
// gotoxy(40,16); cout<<amnt;

43
break;
}
}
}
crfile.close();
clrscr();
m.box1();
if(flag == 1 && (cho == 'y' || cho == 'Y'))
{
gotoxy(30,22); cout<<"Record modified";
modi_crime(crno, tcr_type,tact_des,tpunish,amnt);
}
else
{
gotoxy(30,22); cout<<"Record not modified";
gotoxy(27,28);cout<<"-----------------------------";
gotoxy(27,29); cout<<"Press any key to continue...";
gotoxy(27,30);cout<<"-----------------------------";
}
getch();
}

void menu::box1(void)
{
int c;
for(c=16;c<=65;c++)
{
gotoxy(c,20); cout<<dash;
}
for(c=16;c<=65;c++)
{
gotoxy(c,25); cout<<dash;
}
}
void menu::box(void)
{
int c;
for(c=16;c<=65;c++)
{
gotoxy(c,20); cout<<dash;
}
for(c=16;c<=65;c++)
{
gotoxy(c,25); cout<<dash;

44
}
for(c=16;c<=65;c++)
{
gotoxy(c,7); cout<<dash;
}
for(c=16;c<=65;c++)
{
gotoxy(c,3); cout<<dash;
}
for(c=4;c<=25; c++)
{
gotoxy(16,c); cout<<dash;
}
for(c=4;c<=25;c++)
{
gotoxy(65,c); cout<<dash;
}
}

void main()
{
menu m;
clrscr();
m.box();
gotoxy(25, 5); cout<<"****POLICE AUTOMATION SYSTEM****";
gotoxy(23,4); for(int i=1; i<=35;i++) cout<<"=";
gotoxy(23,6); for(i=1; i<=35;i++) cout<<"=";
gotoxy(35, 9);cout<<"Complied by";
gotoxy(35, 11); cout<<"Preeti Gupta,";
gotoxy(38, 13); cout<<"Sweety";
gotoxy(40, 15);cout<<"&";
gotoxy(38, 17); cout<<"Pooja";
textcolor(WHITE);
getch();
clrscr();
m.main_menu();
}

45

You might also like