600 Line DSA Cinima Ticket
600 Line DSA Cinima Ticket
#include <stdio.h>
#include <stdlib.h>
// #include <conio.h>
// #include <malloc.h>
#include <fstream>
int m=0,*p,sn,arg,arg2,tkt,tkt_pr,nt=0,sti,foundu=0,foundp=0,pas_chk=0,mv_str=0,data_store=0;
double cost=0;
//mv_str=0 to run the loop when data is being brought from file to compiler
//sn is variable for show number in manager function N m is for number of shows in a day
char cus_in;
string tim[100][100];
1st argument is for movie number and and argument is for no.timings that
particular runs*/
class movie_booking
public:
void first();
void show_seat_frm_file();
void show();
void manager();
void ticket_print();
void pass_proctect();
void data_str();
int password_check();
void hal_name()
switch(obn)
case 1:
hall_name="Sepastopole Cinema";
break;
case 2:
hall_name="Alem Cinema";
break;
case 3:
hall_name="Eliana Cinema";
break;
case 4:
hall_name="Zefnesh Cinema";
break;
};
void movie_booking::first()
int i;
cout<<"";
cin>>ind;
int pas_count=0;
if((ind=='o')||(ind=='O'))
while(pas_count<3)
(*this).pass_proctect();
if(pass=="Eliab")
(*this).manager();//the manager mode to set the number of seats available for booking
pas_count=3;
else
pas_count++;
system("clear");
cout<<"";
cin>>cus;
cout<<"";
cin>>cus_in;
if(cus_in=='N'||cus_in=='n')
(*this).data_str();
else
pas_rak=(*this).password_check();
cout<<"";
// CLEAR();
system("clear");
if(pas_rak!=0||data_store!=0)
while((in=='c')||(in=='C'))
cost=0;
(*this).show_seat_frm_file();
cout<<"";
cin>>arg;
for(i=0;i<arg-1;i++)
getline(fin,name[i],'\n');
getline(fin,name[i],',');
fin.close();
cout<<""<<name[i];
cout<<"";
cin>>sti;
tkt_pnt=name[i];
(*this).seatdisp(arg,sti);
(*this).seatin(arg,sti);
system("clear");
(*this).seatdisp(arg,sti);
system("clear");
(*this).ticket_print();
cin>>in;
}
cout<<"PROGRAM TERMINATED!!!\n";
void movie_booking::show_seat_frm_file()
{int i=0,j;
system("clear");//after the input is being over the screen is cleared and data is displayed
ifstream fin;
fin.open("movie_test2.csv");
if(dir_customer==0)
m=13;
while(i<m)
cout<<"";
getline(fin,name[i],',');
cout<<"MOVIE :"<<i+1<<""<<name[i]<<endl<<endl;
cout<<"";
int j=0;
getline(fin,tim[i][j],'\n');
cout<<"";
cout<<tim[i][j]<<endl<<endl;
void movie_booking::show()//this function is for entering the number of movie running in hall
int i,j;
p=(int*)(malloc(sizeof(int)));
cout<<"";
cin>>m;
(*p)=m;
ofstream fout;
fout.open("movie_test2.csv",ios::app);
{ fflush(stdin);
cout<<"";
getline(cin,name[i]);
fflush(stdin);
cin>>nt;
str_tim[i]=nt;
{ fflush(stdin);
cout<<"";
fout<<tim[i][j]<<",";
fout<<endl;
fout.close();
(*this).show_seat_frm_file();
arg=z;
sti=wt;
int i,j;
char ch='A',st;
system("clear");
fin.open("movie_test2.csv");
for(i=0;i<arg-1;i++)
getline(fin,name[i],'\n');
getline(fin,name[i],',');
fin.close();
for(i=0;i<13;i++)
ch='A';
ch=ch+i;
cout<<"\t";
for(j=0;j<18;j++)
if(ar[obn][arg][sti][i][j]==1)
cout<<"["<<" X"<<"]";
else
cout<<"["<<ch<<j+1<<"]";
if(j==4||j==12)
cout<<"";
}
cout<<"\n\n";
if(i==12)
cout<<"______________________";
void movie_booking::book(int z,int wt ,int a)//first argument is for the movie number and 3rd argument
for manager mode
{int i,j,num,al,n,col,stor,arg;
arg=z;
sti=wt;
arg2=a;
if(arg2==100)
else
cout<<"CUSTOMER BOOKING\n";
}
(*this).seatdisp(arg,sti);
char ch='A',chr;
cin>>chr>>col;
stor=chr-65;
col=col-1;
if(ar[obn][arg][sti][stor][col]==0)
ar[obn][arg][sti][stor][col]=1;
tkt_col[tkt]=col;
tkt_row[tkt]=stor;
else
while(ar[obn][arg][sti][stor][col]!=0)
if(arg2==100)
cout<<"\n\nADMIN YOU HAVE ALREADY MARKED THIS SEAT AS BOOKED ENTER A NEW SEAT
WHICH IS BOOKED\n";
cout<<" ";
}
else
cout<<"";
cin>>chr>>col;
stor=chr-65;
col=col-1;
ar[obn][arg][sti][stor][col]=1;
tkt_col[tkt]=col;
tkt_row[tkt]=stor;
void movie_booking::seatin(int z,int wt)//1st argument for the particular movie seat booking
int n,i;
arg=z;
sti=wt;
fin.open("movie_test2.csv");
cout<<"\n\nBOOKED SEATS ARE MARKED WITH [x]\n\n";
for(i=0;i<arg-1;i++)
getline(fin,name[i],'\n');
getline(fin,name[i],',');
cout<<"MOVIE NAME="<<name[i]<<endl;
fin.close();
cout<<"";
cin>>n;
tkt_pr=n;
(*this).book(arg,sti,20);
cout<<"LOOP IS RUNNING\n";
system("clear");
(*this).seatdisp(arg,sti);
// CLEAR();
system("clear");
}
void movie_booking::manager()
{ char mov='c',in='c';
(*this).show();
while((mov=='c')||(mov=='C'))//this loop is for entering the seats that are booked for different movies
cout<<"\n\nENTER THE SHOW NUMBER WHOSE SEATS U WANT TO ASSIGN FOR BOOKING\n";
cout<<"";
cin>>sn;
cout<<"";
cin>>sti;
tkt_pnt=name[sn];
while((in=='c')||(in=='C'))
(*this).book(sn,sti,100);
system("clear");
(*this).seatdisp(sn,sti);
cout<<"";
cin>>in;
cout<<"";
cin>>mov;
in='c';
}
mv_str++;
void movie_booking::ticket_print()
{ int i,a=0,b=0,d=0;
char c;
if(tkt_row[i]==0||tkt_row[i]==1)
cost=cost+500;
a++;
else if(tkt_row[i]>1&&tkt_row[i]<7)
cost=cost+200;
b++;
else{cost=cost+100;d++;}
cout<<"\n\nCOST : "<<endl;
if(a!=0)
if(c!=0)
cost=cost+cost*(0.18);
// CLEAR();
system("clear");
system("clear");
for(i=0;i<arg-1;i++)
getline(fin,name[i],'\n');
getline(fin,name[i],',');
for(int j=0;j<sti;j++)
getline(fin,time,',');
fin.close();
(*this).hal_name();
cout<<"\n\n\n\n________________\n";
cout<<"| |\n";
cout<<"| Dear Customer, |\n";
cout<<"| |\n";
{ c=tkt_row[i]+65;
if(i<tkt-1)
cout<<",";
cout<<" \n";
cout<<"|_______________|\n";
cout<<"";
cin>>pass;
ps=pass.length();
system("clear");
while(star<ps)
{ if(star==0)
cout<<"";
cout<<" * ";
star++;
void movie_booking::data_str()
ofstream fout;
fout.open("database1.csv",ios::app);
string name1,name2,usr_id,usr_psd;
fflush(stdin);
fflush(stdin);
getline(cin,name1);
fflush(stdin);
getline(cin,name2);
fflush(stdin);
getline(cin,usr_id);
fflush(stdin);
getline(cin,usr_psd);
fout<<name1<<","<<name2<<","<<usr_id<<","<<usr_psd<<endl;
fout.close();
data_store=1;
int movie_booking::password_check()
fflush(stdin);
cout<<"";
cin>>cus_id;
ifstream myfile;
myfile.open("database1.csv");
while(!myfile.eof())
getline(myfile,user,',');
getline(myfile,user,',');
getline(myfile,user,',');
getline(myfile,pass,'\n');
fflush(stdin);
fflush(stdin);
if(user==cus_id||pass==cus_id)
foundu++;
prnt_once++;
if(prnt_once==1)
cout<<"\n\nUSER ID FOUND\n";
if(foundu==0)
myfile.close();
else
{
myfile.close();
fflush(stdin);
cout<<"";
cin>>cus_pas;
myfile.open("database1.csv");
while(!myfile.eof())
getline(myfile,user,',');
getline(myfile,user,',');
getline(myfile,user,',');
getline(myfile,pass,'\n');
fflush(stdin);
fflush(stdin);
if(pass==cus_pas)
foundp++;
cout<<"\n\nPASSWORD MATCHED\n";
if(foundp==0)
cout<<"\n\nPASSWORD IS WRONG\n";
myfile.close();
return foundp;
int main()
prnt_once=0;
movie_booking obj[4];
while(1)
cout<<"\n\n ";
cin>>obn;
switch(obn)
case 1:
cout<<"";
obj[0].first();
break;
case 2:
cout<<"";
cout<<"Alem Cinema IS SELECTED\n";
obj[1].first();
break;
case 3:
cout<<"\t\t\t\t\t\t\t";
obj[2].first();
break;
case 4:
cout<<"";
obj[3].first();
break;
case 9:
goto bye;
break;
default:
goto bye;
break;
bye:
system("clear");
return 0;