Documente Academic
Documente Profesional
Documente Cultură
CS695A
Sayan Maity
CSE 3B
Roll-05
12017009001365
Shamik Basu
CSE 3B
Roll-06
12017009001193
INDEX
The success and final outcome of this project required a lot of guidance
and assistance from many people and we are extremely privileged to
have got this all along the completion of our project. All that we have
done is only due to such supervision and assistance and we would not
forget to thank them.
We owe my deep gratitude to our project guide Prof. Anoy Ghosh who
took keen interest on our project work and guided us all along, till the
completion of our project work by providing all the necessary information
for developing a good system.
Sayan Maity
Shamik Basu
TITLE
Introduction
SPECIFICATIONS
Problem Statement: Movie Ticket Booking System
UML Diagram
Source Code
#include<iostream>
#include<fstream>
#include<stdio.h>
#include<string.h>
class Movies{
private:
int ticketsAvailability;
int movieId;
public:
char movieName[50];
int cost;
void getMovieData(){
cout<<"Enter MovieId:\n";
cin>>movieId;
cin.ignore();
cout<<"Enter MovieName:\n";
cin.getline(movieName,49);
cin>>cost;
storeMovies();
void displayMovies(){
cout<<movieId<<"\t"<<movieName<<"\t"<<cost<<"\t"<<ticketsAvailability<<"\n\n";
int tempCost=0;
fstream file;
file.open("MoviesData.dat",ios::in|ios::out|ios::ate|ios::binary);
file.seekg(0);
file.read((char*)this,sizeof(*this));
while(!file.eof()){
ticketsAvailability-=seats;
tempCost=cost;
file.seekp((int)file.tellp()-sizeof(*this));
file.write((char*)this,sizeof(*this));
file.close();
return tempCost;
file.read((char*)this,sizeof(*this));
return 0;
void storeMovies();
void fetchAllMovies();
void deleteMovie(int);
void updateMovies(int);
};
fstream file;
file.open("MoviesData.dat",ios::in|ios::out|ios::ate|ios::binary);
file.seekg(0);
file.read((char*)this,sizeof(*this));
while(!file.eof()){
if(movieId==id){
cout<<"Enter MovieId:\n";
cin>>movieId;
cin.ignore();
cout<<"Enter MovieName:\n";
cin.getline(movieName,49);
cin>>cost;
cin>>ticketsAvailability;
file.seekp((int)file.tellp()-sizeof(*this));
file.write((char*)this,sizeof(*this));
break;
file.read((char*)this,sizeof(*this));
file.close();
ifstream fin;
ofstream fout;
fin.open("MoviesData.dat",ios::in|ios::binary);
if(!fin)
else{
fout.open("temp.dat",ios::out|ios::binary);
fin.read((char*)this,sizeof(*this));
while(!fin.eof()){
if(movieId!=id){
fout.write((char*)this,sizeof(*this));
fin.read((char*)this,sizeof(*this));
fout.close();
fin.close();
remove("MoviesData.dat");
rename("temp.dat","MoviesData.dat");
cout<<"Movie Deleted...\n";
void Movies::fetchAllMovies(){
ifstream fin;
fin.open("MoviesData.dat",ios::in|ios::binary);
if(!fin)
cout<<"File Not FOund....\n";
else{
fin.read((char*)this,sizeof(*this));
cout<<"movieId\t"<<"movieName\t"<<"Cost\t"<<"TicketsAvailable\n";
while(!fin.eof()){
displayMovies();
fin.read((char*)this,sizeof(*this));
fin.close();
void Movies::storeMovies(){
ofstream fout;
fout.open("MoviesData.dat",ios::app|ios::binary);
fout.write((char*)this,sizeof(*this));
fout.close();
private:
int userId;
char userName[20];
int seats;
int totalCost;
char date[20];
char time[10];
public:
void getUserDetails(){
int id,checkSeatsCost;
cout<<"Movies Details...\n";
Movies::fetchAllMovies();
cout<<"Enter userId:\n";
cin>>userId;
cin.ignore();
cout<<"Enter UserName:\n";
cin.getline(userName,19);
cout<<"Enter MovieId:\n";
cin>>id;
cin>>seats;
checkSeatsCost=Movies::isTicketsAvailable(id,seats);
if(checkSeatsCost>0){
totalCost=seats*checkSeatsCost;
cin.ignore();
cin.getline(date,19);
cout<<"Enter time[hhmm]hrs\n";
cin.getline(time,9);
storeTicketsDetails();
else
void displayTicket(){
cout<<"UserId\t\t"<<"userName\t"<<"seats\t"<<"TotalCost\t\t"<<"Date\t\t\t"<<"Time\n";
cout<<userId<<"\t"<<userName<<"\t\t"<<seats<<"\t"<<totalCost<<"\t\t\t"<<date<<"\t\t"<<time<<"\
n\n";
void storeTicketsDetails();
void checkMyTicket(int);
};
fin.open("TicketsBooked.dat",ios::in|ios::binary);
if(!fin)
else{
fin.read((char*)this,sizeof(*this));
while(!fin.eof()){
if(userId==no){
displayTicket();
flag++;
fin.read((char*)this,sizeof(*this));
if(flag==0)
fin.close();
void BookedTickets::storeTicketsDetails(){
ofstream fout;
fout.open("TicketsBooked.dat",ios::app|ios::binary);
fout.write((char*)this,sizeof(*this));
fout.close();
int main(){
int id,menuChoice,userno;
Movies m1;
BookedTickets b1;
while(1){
cout<<"\n\n";
cin>>menuChoice;
if(menuChoice==0)
break;
else{
switch(menuChoice){
case 1: m1.getMovieData();
break;
m1.fetchAllMovies();
m1.updateMovies(id);
break;
m1.fetchAllMovies();
cin>>id;
m1.deleteMovie(id);
break;
m1.fetchAllMovies();
break;
case 5: b1.getUserDetails();
break;
cin>>userno;
b1.checkMyTicket(userno);
break;
return 0;
Output
Conlcusion