Blogger news

New and Latest Videos and movies

Breaking News
Showing posts with label Politics. Show all posts
Showing posts with label Politics. Show all posts

Wednesday, December 30, 2015

e voting system code in c++ with exe file

/*Voting System
Submitted By AQEEL-U-REHMAN (aqelrehmancs07@yahoo.com)
Password : aqeel*/
#include<iostream>
#include<conio.h>
#include<fstream>
#include<process.h>
#include<string.h>
#include<string>
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<Windows.h>
using namespace std ;
void gotoxy(int x, int y)
{
  HANDLE hConsoleOutput;
  COORD dwCursorPosition;
  cout.flush();
  dwCursorPosition.X = x;
  dwCursorPosition.Y = y;
  hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
}
char description() 
cout<<"\t\t ELECTION VOTING SOFTWARE \n\n";
Sleep(500);
cout<<"\t DESCRIPTION : IN THIS PROJECT , A PREDETERMINED SET OF \n\n\n";
Sleep(500);
cout<<"\t VOTERS WILL BE ABLE TO CAST THE VOTE .VOTERS WILL HAVE \n\n\n";
Sleep(500);
cout<<"\t TO PROVE THEIR IDENTITY BY GIVING THEIR IDENTIFICATION \n\n\n";
Sleep(500);
cout<<"\t NO. A AUTHENTICATED USER WILL BE ABLE TO CAST THE VOTE.\n\n\n";
Sleep(500);
cout<<"\t A USER WHO HAS CASTED THE VOTE CANNOT CAST AGAIN.AFTER \n\n\n";
Sleep(500);
cout<<"\t VOTING HAS FINISHED RESUTS WILL BE DECLAIR. A SETUP \n\n\n";
 Sleep(500);
cout<<"\t OPTION BEFORE ELECTION STARTS , WILL ALLOW VOTER TO BE \n\n\n"; 
Sleep(500);
cout<<"\t CREATED AND CANDIDATE CHOOSEN. \n\n\n"; 
 Sleep(2000);
return 0; 
int pass() 
char ch; 
int r=0; 
char pass[20]; 
for(;;) 
system("cls"); 
cout<<"Enter the password to initialize the setup :"; 
r=0; 
for(int i=0;;i++) 
ch=getch(); 
if(ch==13) 
{ pass[r]='\0'; 
break; 
if(ch==8) 
if(i>0) 
{ cout<<ch<<" "<<ch; 
i-=2;r--; 
else 
i--; 
else 
{ cout<<"*"; 
pass[r]=ch; 
r++; 
if(strcmp("aqeel",pass)==0) 
return 0; 
else 
cout<<"\n\n\t\t\a!! INVALID PASSWORD !!"; 

cout<<"\n\n\t\t--> TRY AGAIN"; 
getch();
//********************************************************** 
// THIS FUNCTION TRUE WHEN THE STRING PASSED AS ARGUMENT IS 
// IS NUMBER 
//********************************************************** 
int string_is_number(char* s) 
int size = strlen(s); 
for(int i = 0; i < size; i++) 
if (!(s[i] >= '0' && s[i] <= '9')) 
return 0; 
return 1; 
class candidate_record 
public: 
int candidate_namecode ; 
char candidate_name[50] ; 
char partyname[50], partysign[50] ; 
char summary[1]; 
char revenue[100]; 
char age[100]; 
char area[50]; 
}; 
class voter_record 
public: 
int voter_namecode ; 
char voter_name[50] ; 
char age[10], gender[10] ; 
}; 
class voter_status 
public: 
int voter_namecode; 
int voting_status; 
}; 
class candidate_status 
public: 
int candidate_namecode; 
int numVotes; 
};
//********************************************************** 
// CLASS NAME : vote 
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS 
// RELATED TO VOTING ITEMS 
//********************************************************** 
class vote 
public : 
void voting(void) ; 
void add_candidate_name(void) ; 
void delete_candidate_name(void) ; 
void modify_candidate_name(void) ; 
void list_of_candidate_names(void) ; 
void add_voter_name(void) ; 
void delete_voter_name(void) ; 
void modify_voter_name(void) ; 
void list_of_voters_names(void) ; 
int last_candidate_code(int &num_candidates) ; 
void delete_candidate_record(int) ; 
void modify_candidate_record(int) ; 
void display_candidate_record(int) ; 
int name_candidate_found(int) ; 
int candidate_recordno(int, candidate_record&) ; 
void candidate_sort(void) ; 
int last_voter_code(int &num_voters) ; 
void delete_voter_record(int) ; 
void modify_voter_record(int) ; 
void display_voter_record(int) ; 
int name_voter_found(int) ; 
int voter_recordno(int, voter_record &vr) ; 
void voter_sort(void) ; 
voter_status* init_voter_status(int &num); 
candidate_status* init_candidate_status(int &num); 
} ; 
//********************************************************** 
// CLASS NAME : menu 
// DETAILS : IT CONTROLLS OVER ALL THE FUNCTIONS 
//********************************************************** 
class menu 
private :
vote v;
public : 
void main_menu(void) ; 
void edit_menu(void) ;
} ; 
//********************************************************** 
// THIS FUNCTION CREATE MAIN MENU AND CALLS OTHER FUNCTIONS 
//********************************************************** 
void menu :: main_menu(void) 
system("cls") ; 
char ch ; 
while (1) 
system("cls"); 
gotoxy(27,4) ; 
cout<<" E L E C T I O N "; 
gotoxy(27,6); 
cout <<" V O T I N G S O F T W A R E " ; 
gotoxy(31,8) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(32,9) ; 
cout <<"1: VOTE " ; 
gotoxy(32,11) ; 
cout <<"2: SEE MENU " ; 
gotoxy(32,13) ; 
cout <<"3: EDIT " ; 
gotoxy(32,17) ; 
cout <<"0: QUIT " ; 
gotoxy(32,20) ; 
cout <<"Enter Choice : " ; 
ch =getch(); 
if (ch == '27') 
return ; 
else 
if (ch == '1') 
vote v ; 
v.voting() ; 
else 
if (ch == '2') 
vote v ; 
v.list_of_candidate_names() ; 
gotoxy(1,20) ; 
cout <<"Press any key to see the voters details" ; 
getch();
v.list_of_voters_names(); 
else 
if (ch == '3') 
edit_menu() ; 
else 
if (ch == '0') 
break ; 
//********************************************************** 
// THIS FUNCTION CREATE EDIT MENU AND CALLS OTHER FUNCTIONS 
//********************************************************** 
void menu :: edit_menu(void) 
system("cls");
char ch,choice; 
cout<<" \n EDIT MENU \n\n"; 
Sleep(1000);
cout<<" 1: \n\t* EDIT CANDIDATE RECORD \t *\n"; 
Sleep(1000);
cout<<" 2: \n \t* EDIT VOTER RECORD \t *\n"; 
Sleep(1000);
cout<<" 0: \n\t * EXIT  \t *\n"; 
Sleep(1000);
cout<<" \n ENTER CHOICE: "; 
Sleep(1000);
choice =getch(); 
if (choice == '1') 
while(1) 
gotoxy(28,10) ; 
cout <<" * EDIT CANDIDATE RECORD *" ; 
gotoxy(28,12) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(28,14) ; 
cout <<"1: * ADD CANDIDATE NAME * " ; 
gotoxy(28,16) ; 
cout <<"2: * MODIFY CANDIDATE NAME *" ; 
gotoxy(28,18) ; 
cout <<"3: * DELETE CANDIDATE NAME *" ; 
gotoxy(28,20) ; 
cout <<"0: * EXIT *" ; 
gotoxy(28,22) ; 
cout <<" ENTER CHOICE: " ; 
ch = getch();
if (ch == '1') 
vote v ; 
v.add_candidate_name() ; 
break ; 
else if (ch == '2') 
vote v ; 
v.modify_candidate_name() ; 
break ; 
else if (ch == '3') 
vote v ; 
v.delete_candidate_name() ; 
break ; 
else 
if (ch == '0') 
break ; 
if(choice=='2') 
system("cls");
while (1) 
gotoxy(28,10) ; 
cout <<" * EDIT VOTER RECORD *" ; 
gotoxy(28,12) ; 
cout <<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(28,14) ; 
cout <<"1: * ADD VOTER NAME * " ; 
gotoxy(28,16) ; 
cout <<"2: * MODIFY VOTER NAME * " ; 
gotoxy(28,18) ; 
cout <<"3: * DELETE VOTER NAME * " ; 
gotoxy(28,20) ; 
cout <<"0: * EXIT " ; 
gotoxy(28,22) ; 
cout <<"Enter Choice: " ; 
ch = getch(); 
if (ch == '1') 
vote v ; 
v.add_voter_name() ; 
break ; 
else if (ch == '2') 
vote v ; 
v.modify_voter_name() ; 
break ; 
else if (ch == '3') 
vote v ; 
v.delete_voter_name() ; 
break ; 
else if (ch == '0') 
break ; 
//********************************************************** 
// THIS FUNCTION RETURNS THE CODE OF THE LAST RECORD OF THE 
// VOTER IN THE VOTER FILE (VOTER.DAT). 
//********************************************************** 
int vote :: last_voter_code(int &num_voters) 
voter_record vr; 
fstream file ; 
num_voters = 0; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int t=0 ; 
while (file.read((char *)&vr,sizeof(voter_record))) 
t = vr.voter_namecode ; 
num_voters++; 
file.close() ; 
return t ; 
//********************************************************** 
// THIS FUNCTION DISPLAY THE LIST OF THE NAMES OF VOTERS 
//********************************************************** 
void vote :: list_of_voters_names(void) 
system("cls");
voter_record vr; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
file.seekg(0) ; 
int row = 6 , found = 0 , pageno = 1 ; 
gotoxy(30,2) ; 
cout <<"LIST OF NAMES OF VOTERS" ; 
gotoxy(29,3) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(3,4) ; 
cout <<"NAME CODE NAME AGE GENDER" ; 
gotoxy(2,5) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
while (file.read((char *)&vr, sizeof(voter_record))) 
Sleep(1500);
found = 1 ; 
gotoxy(5,row) ; 
cout <<vr.voter_namecode ; 
gotoxy(14,row) ; 
cout <<vr.voter_name ; 
gotoxy(37,row) ; 
cout <<vr.age; 
gotoxy(51,row) ; 
cout <<vr.gender; ; 
if ( row == 22 ) 
row = 5 ; 
gotoxy(66,1) ; 
cout <<"Page no. : " <<pageno ; 
gotoxy(66,2) ; 
cout <<"===============" ; 
pageno++ ; 
gotoxy(1,25) ; 
cout <<"Press enter key to continue..." ; 
getch(); 
system("cls");
gotoxy(3,4) ; 
cout << "NAME CODE NAME AGE GENDER " ; 
gotoxy(2,5) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
else 
row++ ; 
if ( !found ) 
gotoxy(5,10) ; 
cout <<"\7Records not found " ; 
gotoxy(66,1) ; 
cout <<"Page no. : " <<pageno ; 
gotoxy(66,2) ; 
cout <<"===============" ; 
gotoxy(1,20) ; 
cout <<"Press enter key to continue..." ; 
getch(); ; 
file.close () ; 
//********************************************************** 
// THIS FUNCTION ADD RECORDS IN THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: add_voter_name(void) 
voter_record vr; 
int vcode, valid ; 
char ch; 
int num_voters; 
vcode = last_voter_code(num_voters) ; 
vcode++ ; 
do 
system("cls"); 
gotoxy(71,2) ; 
cout <<"<0>=Exit" ; 
gotoxy(23,3) ; 
cout <<" ADD NAME TO THE VOTER LIST" ; 
gotoxy(23,4) ; 
cout <<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(5,6) ; 
cout <<"Name Code : " <<vcode ; 
gotoxy(5,8) ; 
cout <<"Name: " ; 
gotoxy(5,10) ; 
cout <<"Age: " ; 
gotoxy(5,12) ; 
cout <<"Gender: " ; 
do 
valid = 1 ; 
gotoxy(1,8) ; cout<<"\n";
gotoxy(1,24) ;cout<<"\n"; 
gotoxy(1,25) ; cout<<"\n"; 
gotoxy(3,25) ; 
cout <<"ENTER NAME OF THE VOTER TO ADD IN THE LIST" ; 
gotoxy(5,8) ; 
cout <<" Name : " ; 
gets(vr.voter_name) ; 
strupr(vr.voter_name) ; 
if (vr.voter_name[0] == '0') 
return ; 
if ((strlen(vr.voter_name) < 1) || (strlen(vr.voter_name) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A...Z" ; 
} while (!valid) ; 
do 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER AGE OF VOTER TO ADD IN THE LIST" ; 
gotoxy(5,10) ; 
cout <<"Age : " ; 
gets(vr.age) ; 
strupr(vr.age); 
if (vr.age[0] == '0') 
return ; 
if ((strlen(vr.age) < 1) || (strlen(vr.age) > 3 ) || (!string_is_number(vr.age))) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = 18...100" ; 
Sleep(1500);
if (atoi(vr.age) < 18) 
valid = 0; 
gotoxy(3,24); 
cout <<"\7 Voter's age is less than 18"; 
Sleep(1500);
} while (!valid) ; 
do 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER GENDER OF VOTER TO ADD IN THE MENU" ; 
gotoxy(5,12) ; 
cout <<"GENDER : " ; 
gets(vr.gender) ; 
strupr(vr.gender); 
if (vr.gender[0] == '0') 
return ; 
if ((strlen(vr.gender) < 1) ||(strlen(vr.gender) > 1) 
|| (strcmp(vr.gender,"M") && strcmp(vr.gender,"F"))) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = M/F" ; 
Sleep(1500);
} while (!valid) ; 
do 
gotoxy(5,15) ; 
cout <<"Do you want to save this record (y/n) : " ; 
ch = getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'Y') 
vr.voter_namecode = vcode ; 
fstream file ; 
file.open("VOTER.DAT", ios::out | ios::app |ios::binary) ; 
file.write((char *)&vr, sizeof(voter_record)) ; 
file.close() ; 
vcode++ ; 
do 
{  
gotoxy(5,17) ; 
cout <<"Do you want to add more records (y/n) : " ; 
ch = getch();
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
} while (ch == 'Y') ; 
//********************************************************** 
// THIS FUNCTION DISPLAY THE RECORD OF THE GIVEN CODE FROM 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: display_voter_record(int vcode) 
system("cls");
voter_record vr; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
while (file.read((char *)&vr, sizeof(voter_record))) 
if (vr.voter_namecode == vcode) 
gotoxy(5,3) ; 
cout <<"Name Code : "<<vr.voter_namecode ; 
gotoxy(5,4) ; 
cout <<"Name : "<<vr.voter_name ; 
gotoxy(5,5) ; 
cout <<"Age : "<<vr.age ; 
gotoxy(5,6) ; 
cout <<"Gender : "<<vr.gender ; 
break ; 
file.close() ; 
//********************************************************** 
// THIS FUNCTION RETURN THE VALUE 1 IF THE RECORD IS FOUND 
// FOR THE GIVEN CODE IN THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
int vote :: name_voter_found(int tcode) 
voter_record vr; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int found=0 ; 
while (file.read((char *)&vr, sizeof(voter_record))) 
if (vr.voter_namecode == tcode) 
found++ ; 
break ; 
file.close() ; 
return found ; 
//********************************************************** 
// THIS FUNCTION RETURN THE RECORD NO. OF THE GIVEN CODE IN 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
int vote :: voter_recordno(int tcode, voter_record &vr) 
voter_record temp; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int found=0 ; 
while (file.read((char *)&temp, sizeof(voter_record))) 
found++ ; 
if (temp.voter_namecode == tcode) 
vr = temp; 
break ; 
file.close() ; 
return found ; 
//********************************************************** 
// THIS FUNCTION DELETES THE RECORD FOR THE GIVEN CODE FROM 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: delete_voter_record(int tcode) 
voter_record vr; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
fstream temp ; 
temp.open("temp.dat", ios::out|ios::binary) ; 
file.seekg(0,ios::beg) ; 
while ( !file.eof() ) 
file.read((char *)&vr, sizeof(voter_record)) ; 
if ( file.eof() ) 
break ; 
if ( vr.voter_namecode != tcode ) 
temp.write((char *)&vr, sizeof(voter_record)) ; 
file.close() ; 
temp.close() ; 
file.open("VOTER.DAT", ios::out|ios::binary) ; 
temp.open("temp.dat", ios::in|ios::binary) ; 
temp.seekg(0,ios::beg) ; 
while ( !temp.eof() ) 
temp.read((char *)&vr, sizeof(voter_record)) ; 
if ( temp.eof() ) 
break ; 
file.write((char *)&vr, sizeof(voter_record)) ; 
file.close() ; 
temp.close() ; 
//********************************************************** 
// THIS FUNCTION GIVES THE CODE NO. TO DELETE RECORD FROM 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: delete_voter_name(void) 
system("cls");
char t_code[5], ch ; 
int tcode ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to see the list" ; 
gotoxy(5,3) ; 
cout <<"Enter Name Code of the item to be deleted : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
list_of_voters_names() ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to Exit" ; 
gotoxy(5,24) ; 
cout <<"Enter Name Code of the item to be deleted : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
return ; 
system("cls");
if (!name_voter_found(tcode)) 
gotoxy(5,5) ; 
cout <<"\7Record not found" ; 
Sleep(1500);
return ; 
display_voter_record(tcode) ; 
do 
gotoxy(5,8) ; 
cout <<"Do you want to delete this record (y/n) : " ; 
ch = getch();  ; 
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
delete_voter_record(tcode) ; 
gotoxy(5,15) ; 
cout <<"\7Record Deleted" ; 
Sleep(1500);
//********************************************************** 
// THIS FUNCTION MODIFY THE RECORD FOR THE GIVEN CODE FROM 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: modify_voter_record(int tcode) 
voter_record vr; 
int recno ; 
recno = voter_recordno(tcode,vr) ; 
if (recno == 0) 
return; 
int valid, t_code ; 
char ch,t_namecode[5] ; 
gotoxy(71,2) ; 
cout <<"<0>=Exit" ; 
gotoxy(5,12) ; 
cout <<"Name Code : " ; 
gotoxy(5,14) ; 
cout <<" Name : " ; 
gotoxy(5,16) ; 
cout <<" Age : " ; 
gotoxy(5,18) ; 
cout <<"Gender: " ; 
do 
gotoxy(20,12) ; cout<<"\n";
cout <<"Change (y/n) : " ; 
ch = getch();  
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ;  
gotoxy(3,25) ; 
cout <<"ENTER NAME CODE TO ADD IN THE MENU" ; 
gotoxy(5,12) ; 
cout <<"Name Code : " ; 
gets(t_namecode) ; 
vr.voter_namecode = atoi(t_namecode) ; 
if (vr.voter_namecode == 0) 
return ; 
if (name_voter_found(vr.voter_namecode) && vr.voter_namecode != tcode) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 CODE ALREADY GIVEN" ; 
Sleep(1500);
do 
gotoxy(20,14) ;
cout <<"Change (y/n) : " ; 
ch = getch();
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER NAME TO ADD IN THE MENU" ; 
gotoxy(5,14) ; 
cout <<" Name : " ; 
gets(vr.voter_name) ; 
strupr(vr.voter_name) ; 
if (vr.voter_name[0] == '0') 
return ; 
if ((strlen(vr.voter_name) < 1) || (strlen(vr.voter_name) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = 1..50" ; 
Sleep(500); 
do 
gotoxy(20,16) ;cout<<"\n";// clreol() ; 
cout <<"Change (y/n) : " ; 
ch = getch();  
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER AGE OF VOTER TO ADD IN THE MENU" ; 
gotoxy(5,16) ; 
cout <<"Age : " ; 
gets(vr.age) ; 
strupr(vr.age); 
if (vr.age[0] == '0') 
return ; 
if ((strlen(vr.age) < 1) || (strlen(vr.age) > 10) || !string_is_number(vr.age)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = 1..10" ; 
Sleep(1500);
do 
gotoxy(20,18) ; //clreol() ; 
cout <<"Change (y/n) : " ; 
ch = getch();  
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER GENDER OF VOTER TO ADD IN THE MENU" ; 
gotoxy(5,18) ; 
cout <<"Gender : " ; 
gets(vr.gender) ; 
strupr(vr.gender); 
if (vr.gender[0] == '0') 
return ; 
if ((strlen(vr.gender) < 1) || (strlen(vr.gender) > 10)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = " <<vr.gender <<"..10" ; 
Sleep(1500);
do 
gotoxy(5,21) ; 
cout <<"Do you want to save this record (y/n) : " ; 
ch = getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
Sleep(500); 
fstream file ; 
file.open("VOTER.DAT", ios::out | ios::ate|ios::binary) ; 
int location ; 
location = (recno-1) * sizeof(vr) ; 
cout << " Location is " << location; 
file.seekp(location) ; 
file.write((char *) &vr, sizeof(voter_record)) ; 
file.close() ; 
voter_sort() ; 
system("cls") ; 
gotoxy(5,15) ; 
cout <<"\7Record Modified" ; 
Sleep(1500); 
//********************************************************** 
// THIS FUNCTION GIVES THE CODE NO. TO MODIFY RECORD FROM 
// THE VOTER FILE (VOTER.DAT) 
//********************************************************** 
void vote :: modify_voter_name(void) 
system("cls"); 
char t_code[5], ch ; 
int tcode ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to see the list" ; 
gotoxy(5,3) ; 
cout <<"Enter Name Code of the item to be Modify : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
list_of_voters_names() ;  
gotoxy(3,25) ; 
cout <<"Press <ENTER> to Exit" ; 
gotoxy(5,24) ; 
cout <<"Enter Name Code of the item to be modify : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
return ; 
system("cls"); 
if (!name_voter_found(tcode)) 
gotoxy(5,5) ; 
cout <<"\7Record not found" ; 
Sleep(1500); 
return ; 
display_voter_record(tcode) ; 
do 
gotoxy(5,8) ; 
cout <<"Do you want to Modify this record (y/n) : " ; 
ch =getch(); 
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
modify_voter_record(tcode) ; 
//********************************************************** 
// THIS FUNCTION SORT THE RECORD IN THE VOTER FILE (VOTER.DAT) 
// ACCORDING TO THE CODE NOS. 
//********************************************************** 

void vote :: voter_sort(void) 
{
int i=0,j ; 
voter_record *arr, temp ; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
//************************************************************* 
// COUNT THE NUMBER OF RECORDS IN THE FILE 
//************************************************************ 
while (file.read((char *) &temp, sizeof(voter_record))) 
i++ ; 
file.clear(); 
//************************************************************* 
// CREATE AN ARRAY TO HOD ALL THE RECORDS 
//************************************************************* 
arr = (voter_record*) new voter_record[i]; 
int size ; 
size = i ; 
//************************************************************* 
// SEEK THE FIE BACK TO THE BEGINNING 
//************************************************************* 
file.seekg(0,ios::beg) ; 
//************************************************************* 
// READ THE RECORDS FROM THE FILE TO THE ARRAY 
//************************************************************* 
for( i = 0; i < size; i++) 
file.read((char*)&(arr[i]),sizeof(voter_record)); 
file.close() ; 
for (i=1; i<size; i++) 
for (j=0; j<size-i; j++) 
if (arr[j].voter_namecode > arr[j+1].voter_namecode) 
temp=arr[j]; 
arr[j]=arr[j+1]; 
arr[j+1]=temp; 
file.open("VOTER.DAT", ios::out|ios::binary) ; 
for (i=0; i<size; i++) 
file.write((char *) &arr[i], sizeof(voter_record)); 
delete[] arr; 
file.close() ; 
//********************************************************** 
// THIS FUNCTION IS THE MAIN FUNCTION CALLING THE MAIN MENU 
//********************************************************** 
void main(void) 
system("cls"); 
char des; 
description(); 
system("cls");   
char p;
 pass(); 
system("cls"); 
menu m ; 
m.main_menu() ; 
//********************************************************** 
// THIS FUNCTION SORT THE RECORD IN THE CANDIDATE FILE (CANDIDATE.DAT) 
// ACCORDING TO THE CODE NOS. 
//********************************************************** 
void vote :: candidate_sort(void) 
int i=0,j ; 
candidate_record *arr, temp ; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 

while (file.read((char *) &temp, sizeof(candidate_record))) 
i++ ; 
file.clear(); 
arr = (candidate_record*) new candidate_record[i]; 
int size ; 
size = i ; 
file.seekg(0,ios::beg) ; 
for( i = 0; i < size; i++) 
file.read((char*)&arr[i],sizeof(candidate_record)); 
file.close() ; 
for (i=1; i<size; i++) 
for (j=0; j<size-i; j++) 
if (arr[j].candidate_namecode > arr[j+1].candidate_namecode) 
temp=arr[j]; 
arr[j]=arr[j+1]; 
arr[j+1]=temp; 
file.open("CANDIDATE.DAT", ios::out|ios::binary) ; 
for (i=0; i<size; i++) 
file.write((char *) &arr[i], sizeof(candidate_record)); 
delete[] arr; 
file.close() ; 
//********************************************************** 
// THIS FUNCTION GIVES THE CODE NO. TO MODIFY RECORD FROM 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote :: modify_candidate_name(void) 
system("cls"); 
char t_code[5], ch ; 
int tcode ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to see the list" ; 
gotoxy(5,3) ; 
cout <<"Enter Name Code of the item to be Modify : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
list_of_candidate_names() ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to Exit" ; 
gotoxy(5,24) ; 
cout <<"Enter Name Code of the item to be modify : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
return ; 
system("cls"); 
if (!name_candidate_found(tcode)) 
gotoxy(5,5) ; 
cout <<"\7Record not found" ; 
Sleep(1500);
return ; 
display_candidate_record(tcode) ; 
do 
gotoxy(5,8) ; 
cout <<"Do you want to Modify this record (y/n) : " ; 
ch = system("pause") ; 
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
//********************************************************** 
// THIS FUNCTION MODIFY THE RECORD FOR THE GIVEN CODE FROM 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote::modify_candidate_record(int tcode) 
{
candidate_record cr; 
int recno ; 
int revenue; 
recno = candidate_recordno(tcode,cr) ; 
int valid, t_code ; 
char ch,t_namecode[5] ; 
gotoxy(71,2) ; 
cout <<"<0>=Exit" ; 
gotoxy(5,12) ; 
cout <<"Name Code : " ; 
gotoxy(5,14) ; 
cout <<" Name : " ; 
gotoxy(5,16) ; 
cout <<" Party Name : " ; 
gotoxy(5,18) ; 
cout <<"Party Sign: " ; 
gotoxy(5,20) ; 
cout <<"Summary : " ; 
do 
gotoxy(20,12) ;cout<<"\n";// clreol() ; 
cout <<"Change (y/n) : " ; 
ch = getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER NAME CODE TO ADD IN THE MENU" ; 
gotoxy(5,12) ; 
cout <<"Name Code : " ; 
gets(t_namecode) ; 
cr.candidate_namecode = atoi(t_namecode) ; 
if (cr.candidate_namecode == 0) 
return ; 
if (name_candidate_found(cr.candidate_namecode) && cr.candidate_namecode != tcode) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 CODE ALREADY GIVEN" ; 
Sleep(1500);
do 
gotoxy(20,14) ; cout<<"\n";//clreol() ; 
cout <<"Change (y/n) : " ; 
ch = getch();
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER NAME TO ADD IN THE MENU" ; 
gotoxy(5,14) ; 
cout <<" Name : " ; 
gets(cr.candidate_name) ; 
strupr(cr.candidate_name) ; 
if (cr.candidate_name[0] == '0') 
return ; 
if ((strlen(cr.candidate_name) < 1) || (strlen(cr.candidate_name) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = 1..50" ; 
Sleep(1500);
do 
gotoxy(20,16) ; cout<<"\n";//clreol() ; 
cout <<"Change (y/n) : " ; 
ch = getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER PARTY NAME TO ADD IN THE MENU" ; 
gotoxy(5,16) ; 
cout <<"Party Name : " ; 
gets(cr.partyname) ; 
strupr(cr.partyname); 
if (cr.partyname[0] == '0') 
return ; 
if ((strlen(cr.partyname) < 1) || (strlen(cr.partyname) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = 1..50" ; 
Sleep(600);
do 
gotoxy(20,18) ; cout<<"\n";//clreol() ; 
cout <<"Change (y/n) : " ; 
ch =getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER PARTY SIGN TO ADD IN THE MENU" ; 
gotoxy(5,18) ; 
cout <<"Party Sign : " ; 
gets(cr.partysign) ; 
strupr(cr.partysign); 
if (cr.partysign[0] == '0') 
return ; 
if ((strlen(cr.partysign) < 1) || (strlen(cr.partysign) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = " <<cr.partysign <<"..50" ; 
Sleep(500);
do 
gotoxy(20,20) ; cout<<"\n";//clreol() ; 
cout <<"Change (y/n) : " ; 
ch =getch();
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
valid = 0 ; 
while (ch == 'Y' && !valid) 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER THE SUMMARY OF THE CANDIDATE" ; 
gotoxy(5,20) ; 
cout <<"Summary declared: " ; 
gets(cr.summary) ; 
strupr(cr.summary); 
if (cr.summary[0] == '0') 
return ; 
if ((strlen(cr.summary) < 1) || (strlen(cr.summary) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = " <<cr.summary <<"..50" ; 
Sleep(500);
do 
gotoxy(5,21) ; 
cout <<"Do you want to save this record (y/n) : " ; 
ch = getch(); 
ch = toupper(ch) ; 
if (ch == '0') 
return ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
getch(); 
fstream file ; 
file.open("CANDIDATE.DAT", ios::out | ios::ate|ios::binary) ; 
int location ; 
location = (recno-1) * sizeof(cr) ; 
file.seekp(location) ; 
file.write((char *) &cr, sizeof(candidate_record)) ; 
file.close() ; 
candidate_sort() ; 
system("cls") ; 
gotoxy(5,15) ; 
cout <<"\7Record Modified" ; 
Sleep(1500);
}
// ********************************************************** 
// THIS FUNCTION RETURN THE VALUE 1 IF THE RECORD IS FOUND 
// FOR THE GIVEN CODE IN THE CANDIDATE FILE (CANDIDATE.DAT) 
// ********************************************************** 
int vote:: name_candidate_found(int tcode) 
candidate_record cr; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int found=0 ; 
while (file.read((char *)&cr, sizeof(candidate_record))) 
if (cr.candidate_namecode == tcode) 
found++ ; 
break ; 
else
{
continue;
}
file.close() ; 
return found ; 
}
//********************************************************** 
// THIS FUNCTION DISPLAY THE RECORD OF THE GIVEN CODE FROM 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote :: display_candidate_record(int tcode) 
{ candidate_record cr; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
while (file.read((char *)&cr, sizeof(candidate_record))) 
if (cr.candidate_namecode == tcode) 
gotoxy(5,3) ; 
cout <<"Name Code : "<<cr.candidate_namecode ; 
gotoxy(5,4) ; 
cout <<"Name : "<<cr.candidate_name ; 
gotoxy(5,5) ; 
cout <<"Party Name : "<<cr.partyname ; 
gotoxy(5,6) ; 
cout <<"Party Sign : "<<cr.partysign ; 
gotoxy(5,7) ; 
cout <<"Revenue : "<<cr.revenue ; 
gotoxy(5,8) ; 
cout <<"Age : "<<cr.age ; 
gotoxy(5,9) ; 
cout <<"Area : "<<cr.area ;  
} else
{
file.close() ; 
break;
}
}
//********************************************************** 
// THIS FUNCTION ADD RECORDS IN THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote :: add_candidate_name(void) 
candidate_record cr; 
int tcode, valid ; 
char ch; 
int num_candidates; 
tcode = last_candidate_code(num_candidates) ; 
tcode++ ; 
do 
system("cls");
gotoxy(71,2) ; 
cout <<"<0>=Exit" ; 
gotoxy(27,3) ; 
cout <<" ADD NAME TO THE CANDIDATE LIST" ; 
gotoxy(26,4) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(5,6) ; 
cout <<"Name Code : " <<tcode ; 
gotoxy(5,8) ; 
cout <<"Name : " ; 
gotoxy(5,10) ; 
cout <<"Party Name : " ; 
gotoxy(5,12) ; 
cout <<"Party Sign : " ; 
gotoxy(5,14) ; 
cout <<"Summary : " ; 
do 
valid = 1 ; 
gotoxy(3,25) ; 
cout <<"ENTER NAME TO ADD IN THE CANDIDATE LIST" ; 
gotoxy(5,8) ; 
cout <<"Name : " ; 
gets(cr.candidate_name) ; 
strupr(cr.candidate_name) ; 
if (cr.candidate_name[0] == '0') 
return ; 
if ((strlen(cr.candidate_name) < 1) || (strlen(cr.candidate_name) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
Sleep(1500);
}while (!valid) ; 
do 
valid = 1 ; 
gotoxy(5,25) ; 
cout <<"ENTER PARTY NAME TO ADD IN THE LIST" ; 
gotoxy(5,10) ; 
cout <<"Party Name : " ; 
gets(cr.partyname) ; 
strupr(cr.partyname); 
if (cr.partyname[0] == '0') 
return ; 
if ((strlen(cr.partyname) < 1) || (strlen(cr.partyname) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
system("cls"); 
} while (!valid) ; 
do 
valid = 1 ; 
gotoxy(5,25) ; 
cout <<"ENTER PARTY SIGN TO ADD IN THE MENU" ; 
gotoxy(5,12) ; 
cout <<"Party Sign : " ; 
gets(cr.partysign) ; 
strupr(cr.partysign); 
if (cr.partysign[0] == '0') 
return ; 
if ((strlen(cr.partysign) < 1) ||(strlen(cr.partysign) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
system("cls");
} while (!valid) ; 
do 
valid = 1; 
gotoxy(5,25) ; 
cout <<"ENTER SUMMARY OF THE CANDIDATE" ; 
gotoxy(5,14) ; 
cout <<"SUMMARY AS FOLLOWS " ; 
Sleep(1500);
gets(cr.summary) ; 
strupr(cr.summary); 
if (cr.summary[0] == '0') 
return ; 
if ((strlen(cr.summary) < 1) ||(strlen(cr.summary) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
system("cls");
} while (!valid) ; 
do 
valid = 1; 
gotoxy(5,25) ; 
cout <<"ENTER REVENUE OF THE CANDIDATE" ; 
gotoxy(5,16) ; 
cout <<"Revenue : " ; 
gets(cr.revenue) ; 
strupr(cr.revenue); 
if (cr.revenue[0] == '0') 
return ; 
if ((strlen(cr.revenue) < 1) ||(strlen(cr.revenue) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
system("cls");
} while (!valid) ; 
do 
valid = 1; 
gotoxy(5,25) ; 
cout <<"ENTER AGE OF THE CANDIDATE" ; 
gotoxy(5,18) ; 
cout <<"Age : " ; 
gets(cr.age) ; 
strupr(cr.age); 
if (cr.age[0] == '0') 
return ; 
if ((strlen(cr.age) < 1) ||(strlen(cr.age) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
Sleep(1500);
} while (!valid) ; 
do 
valid = 1; 
gotoxy(5,25) ; 
cout <<"ENTER AREA OF THE CANDIDATE" ; 
gotoxy(5,20) ; 
cout <<"Area : " ; 
gets(cr.area) ; 
strupr(cr.area); 
if (cr.area[0] == '0') 
return ; 
if ((strlen(cr.area) < 1) ||(strlen(cr.area) > 50)) 
valid = 0 ; 
gotoxy(3,24) ; 
cout <<"\7 Range = A.....Z" ; 
Sleep(1500);
} while (!valid) ; 
do 
{  
gotoxy(5,28) ; 
cout <<"Do you want to save this record (y/n) : " ; 
ch = getch() ; 
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'Y') 
cr.candidate_namecode = tcode ; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::out | ios::app | ios::binary) ; 
file.write((char *)&cr, sizeof(candidate_record)) ; 
file.close() ; 
tcode++ ; 
system("cls");
do 
{ system("cls");
gotoxy(5,30) ; 
cout <<"Do you want to add more records (y/n) : " ; 
ch = getch();
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
} while (ch == 'Y') ; }
//********************************************************** 
// THIS FUNCTION DISPLAY THE LIST OF THE NAMES OF CANDIDATES 
//********************************************************** 
void vote :: list_of_candidate_names(void) 
system("cls"); 
candidate_record cr; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
file.seekg(0) ; 
int row = 6 , found = 0 , pageno = 1 ; 
gotoxy(30,2) ; 
cout <<"LIST OF NAMES OF CANDIDATES" ; 
gotoxy(29,3) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
gotoxy(3,4) ; 
cout <<"NAME CODE NAME PARTY NAME PARTY SIGN REVENUE AGE AREA"; 
gotoxy(2,5) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
while (file.read((char *)&cr, sizeof(candidate_record))) 
Sleep(100); 
found = 1 ; 
gotoxy(5,row) ; 
cout <<cr.candidate_namecode ; 
gotoxy(14,row) ; 
cout <<cr.candidate_name ; 
gotoxy(31,row) ; 
cout <<cr.partyname ; 
gotoxy(45,row) ; 
cout <<cr.partysign ; 
gotoxy(58,row) ; 
cout <<cr.revenue ; 
gotoxy(69,row) ; 
cout <<cr.age ; 
gotoxy(75,row) ; 
cout <<cr.area ; 
if ( row == 22 ) 
row = 5 ; 
gotoxy(66,1) ; 
cout <<"Page no. : " <<pageno ; 
gotoxy(66,2) ; 
cout <<"===============" ; 
pageno++ ; 
gotoxy(1,25) ; 
cout <<"Press any key to continue..." ; 
getch();
system("cls"); 
gotoxy(3,4) ; 
cout << "NAME CODE NAME PARTY NAME PARTY SIGN REVENUE AGE AREA" ; 
gotoxy(2,5) ; 
cout <<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ; 
else 
row++ ; 
if ( !found ) 
gotoxy(5,10) ; 
cout <<"\7Records not found " ; 
gotoxy(66,1) ; 
cout <<"Page no. : " <<pageno ; 
gotoxy(66,2) ; 
cout <<"===============" ; 
gotoxy(1,20) ; 
cout <<"Press enter key to continue..." ; 
getch();
file.close () ; 
//********************************************************** 
// THIS FUNCTION RETURNS THE CODE OF THE LAST RECORD IN THE 
// CANDIDATE FILE (CANDIDATE.DAT). 
//********************************************************** 
int vote :: last_candidate_code(int &num_candidates) 
candidate_record cr; 
fstream file ; 
num_candidates = 0; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int t=0 ; 
while (file.read((char *) &cr, sizeof(candidate_record))) 
t = cr.candidate_namecode ; 
num_candidates++; 
file.close() ; 
return t ; 
//********************************************************** 
// THIS FUNCTION RETURN THE RECORD NO. OF THE GIVEN CODE IN 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
int vote :: candidate_recordno(int tcode,candidate_record &cr) 
candidate_record temp; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
file.seekg(0,ios::beg) ; 
int found=0 ; 
while (file.read((char *) &temp, sizeof(candidate_record))) 
found++ ; 
if (temp.candidate_namecode == tcode) 
cr = temp; 
break ; 
file.close() ; 
return found ; 
//********************************************************** 
// THIS FUNCTION DELETES THE RECORD FOR THE GIVEN CODE FROM 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote :: delete_candidate_record(int tcode) 
candidate_record cr; 
fstream file ; 
file.open("CANDIDATE.DAT", ios::in|ios::binary) ; 
fstream temp ; 
temp.open("temp.dat", ios::out|ios::binary) ; 
file.seekg(0,ios::beg) ; 
while ( !file.eof() ) 
file.read((char *)&cr, sizeof(candidate_record)) ; 
if ( file.eof() ) 
break ; 
if ( cr.candidate_namecode != tcode ) 
temp.write((char *)&cr, sizeof(candidate_record)) ; 
file.close() ; 
temp.close() ; 
file.open("CANDIDATE.DAT", ios::out|ios::binary) ; 
temp.open("temp.dat", ios::in|ios::binary) ; 
temp.seekg(0,ios::beg) ; 
while ( !temp.eof() ) 
temp.read((char *)&cr, sizeof(candidate_record)) ; 
if ( temp.eof() ) 
break ; 
file.write((char *) &cr, sizeof(candidate_record)) ; 
file.close() ; 
temp.close() ; 
//********************************************************** 
// THIS FUNCTION GIVES THE CODE NO. TO DELETE RECORD FROM 
// THE CANDIDATE FILE (CANDIDATE.DAT) 
//********************************************************** 
void vote :: delete_candidate_name(void) 
system("cls");
char t_code[5], ch ; 
int tcode ; 
gotoxy(3,25) ; 
cout <<"Press <ENTER> to see the list" ; 
gotoxy(5,3) ; 
cout <<"Enter Name Code of the item to be deleted : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
list_of_candidate_names() ; 
gotoxy(1,25) ;cout<<"\n";//clreol() ; 
gotoxy(3,25) ; 
cout <<"Press 0 to EXIT" ; 
gotoxy(5,24) ; 
cout <<"Enter Name Code of the item to be deleted : " ; 
gets(t_code) ; 
tcode = atoi(t_code) ; 
if (tcode == 0) 
return ; 
system("cls"); 
if (!name_candidate_found(tcode)) 
gotoxy(5,5) ; 
cout <<"\7Record not found" ; 
Sleep(1500);
return ; 
display_candidate_record(tcode) ; 
do 
gotoxy(5,8) ; 
cout <<"Do you want to delete this record (y/n) : " ; 
ch = getch() ; 
ch = toupper(ch) ; 
} while (ch != 'N' && ch != 'Y') ; 
if (ch == 'N') 
return ; 
delete_candidate_record(tcode) ; 
gotoxy(5,15) ; 
cout <<"\7Record Deleted" ; 
Sleep(1500); 
voter_status* vote::init_voter_status(int &num) 
voter_status *vs = NULL; 
num = 0; 
last_voter_code(num); 
if (num != 0) 
vs = new voter_status[num]; 
voter_record vr; 
fstream file ; 
file.open("VOTER.DAT", ios::in|ios::binary) ; 
for(int i = 0; i < num; i++) 
file.read((char *)&vr, sizeof(voter_record)); 
vs[i].voter_namecode = vr.voter_namecode; 
vs[i].voting_status = 0; 
file.close(); 
return vs; 
candidate_status* vote::init_candidate_status(int &num) 
candidate_status *cs = NULL;; 
num = 0; 
last_candidate_code(num); 
if (num != 0) 
cs = new candidate_status[num]; 
candidate_record cr; 
fstream file; 
file.open("CANDIDATE.DAT",ios::in|ios::binary); 
for(int i = 0; i < num; i++) 
file.read((char *)&cr, sizeof(candidate_record)); 
cs[i].candidate_namecode = cr.candidate_namecode; 
cs[i].numVotes = 0; 
file.close(); 
return cs; 
void vote::voting() 
system("cls") ; 
char ch,name[50]; 
int n ,num_voters = 0, num_candidates = 0; 
int vtr_rec; 
voter_status* vs = init_voter_status(num_voters); 
candidate_status* cs = init_candidate_status(num_candidates); 
int valid=0; 
if (num_voters == 0) 
gotoxy(3,6); 
cout << "There are NO VOTERS"; 
ch = getch(); 
delete[] vs; 
delete[] cs; 
return; 
if (num_candidates == 0) 
gotoxy(3,6); 
cout << "There are NO CANDIDATES"; 
ch = getch(); 
delete[] vs; 
delete[] cs; 
return; 
while(1) 
system("cls");
gotoxy(30,2); 
cout <<"VOTING HAS STARTED"; 
gotoxy(29,3); 
cout <<"~~~~~~~~~~~~~~~~~~~~~~"; 
int i; 
for(i = 0; i < num_voters; i++) 
if (vs[i].voting_status == 0)
break; 
if (i == num_voters) 
gotoxy(3,4); 
cout<<"All VOTES have been casted"; 
system("pause"); 
break; 
gotoxy(3,24) ; 
cout<<"\n";//clreol(); 
cout <<"To End the voting Enter <STOP>.\n"; 
gotoxy(3,25); 
cout<<"\n";//clreol(); 
cout <<"Once voting is stopped it cann't resume. You will have to start a fresh" ; 
gotoxy(6,3); 
cout<<"\n";//clreol(); 
cout <<"Enter the voter code <To view listof voters press <ENTER>- "; 
gets(name); 
if (strcmp(name,"STOP") == 0) 
//Terminate the Voting; 
gotoxy(6,5); 
cout<<"\n";//clreol(); 
cout <<"Do you want to STOP the voting and start counting votes (y/n) - "; 
ch = getche(); 
ch = toupper(ch); 
while(!(ch == 'Y' || ch == 'N')) 
gotoxy(70,5); 
cout<<"\n";//clreol(); 
ch = getch(); 
ch = toupper(ch); 
if (ch == 'N') 
continue; 
else break; 
n = string_is_number(name); 
gotoxy(6,5); 
cout<<"\n";//clreol(); 
if (n == 0) 
cout << "Incorrect voter code, enter only digits, try again "; 
getch(); 
continue; 
n = atoi(name); 
if (n == 0) 
list_of_voters_names(); 
continue; 
for(vtr_rec = 0; vtr_rec < num_voters; vtr_rec++) 
if (vs[vtr_rec].voter_namecode == n) 
if (vs[vtr_rec].voting_status == 1) 
cout << "Voter with voter code "<< n <<" has alread voted"; 
Sleep(1500);
break; 
if ( vtr_rec == num_voters) 
cout << "Voter code "<< n << " not found in Voter list"; 
Sleep(1500);
continue; 
if (vs[vtr_rec].voting_status == 1) 
cout << "Voter code "<<n<< " has already voted, can't vote again"; 
Sleep(1500);
continue; 
while(1) 
system("cls");
gotoxy(3,24) ; 
cout<<"\n";//clreol(); 
cout<<"To cast invalid vote press <y>"; 
gotoxy(3,3); 
cout <<"Voter with voter code " << vs[vtr_rec].voter_namecode<<" is voting"; 
gotoxy(3,4); 
cout<<"Enter the candidate code <To view list of candidate press <ENTER>-" ; 
char can_code[50]; 
gets(can_code); 
if (can_code[0] == 'Y' || can_code[0] == 'y') 
vs[vtr_rec].voting_status = 1; 
system("cls");
cout<<"Voter "; 
gotoxy(3,7); 
display_voter_record(vs[vtr_rec].voter_namecode); 
gotoxy(3,8); 
cout <<"has casted a invalid vote"; 
getch(); 
break; 
}
int can = string_is_number(can_code); 
gotoxy(3,6); 
if (can == 0) 
cout << "Incorrect candidate code, enter only digits, try again "; 
getch(); 
continue; 
can = atoi(can_code); 
if (can == 0) 
list_of_candidate_names(); 
getche(); 
continue; 
int can_rec; 
for(can_rec=0; can_rec<num_candidates; can_rec++) 
if (cs[can_rec].candidate_namecode == can) 
break; 
if (can_rec == num_candidates) 
cout <<"Candidate code "<<can<<" not found in Candidate List"; 
Sleep(1500);
continue; 
cs[can_rec].numVotes++; 
vs[vtr_rec].voting_status = 1; 
system("cls");
gotoxy(3,6); 
voter_record vr; 
voter_recordno(vs[vtr_rec].voter_namecode, vr) ; 
cout<<"Voter " << vr.voter_name<< " has voterd for Candidate "; 
candidate_record cr; 
candidate_recordno(cs[can_rec].candidate_namecode,cr); 
cout << cr.candidate_name; 
gotoxy(35,20); 
cout<<"VOTE CASTED"; 
Sleep(2000); 
valid=1; 
break; 
if (valid) 
system("cls");
gotoxy(20,9); 
cout<<"VOTING RESULTS"; 
int tie =0; 
int winner=0; 
int max = 0; 
int i; 
for(i = 0; i < num_candidates; i++) 
if (cs[i].numVotes > max) 
max = cs[i].numVotes; 
else if (cs[i].numVotes == max && max > 0) 
tie = 1; 
gotoxy(20,12); 
if (tie) cout<<"Voting has resulted in tie, joint winners are"; 
else cout <<"WINNER is "; 
gotoxy(20,13); 
for(i = 0; i < num_candidates; i++) 
if (cs[i].numVotes == max) 
candidate_record cr; 
candidate_recordno(cs[i].candidate_namecode,cr); 
if (winner) 
cout<<", "; 
cout << "\n\n\t\t\t"<<cr.candidate_name<<endl; 
gotoxy(25,25); 
cout<<"THE SUMMARY FOLLOWS"; 
Sleep(1000);
gotoxy(25,27); 
Sleep(1500); 
cout << "PARTY NAME -->"<<cr.partyname<<endl; 
gotoxy(25,29); 
Sleep(1500); 
cout << "PARTY SIGN -->"<<cr.partysign<<endl; 
gotoxy(25,31); 
Sleep(1500); 
cout << "REVENUE -->"<<cr.revenue<<endl; 
gotoxy(25,33); 
Sleep(1500); 
cout << "AGE -->"<<cr.age<<endl; 
gotoxy(25,35); 
Sleep(1500); 
cout << "AREA -->"<<cr.area; 
winner++; 

cout<<"total votes are --->>:"<<max;
ch = getch(); 
delete[] vs; 
delete[] cs; 






Read more ...
Designed By Published.. Blogger Templates