import java.util.*;
public class Project{
static Scanner sc = new Scanner(System.in);
static Movie movies[] = new Movie[100];
static int n = 0;
public static void main(){
scr1();
}
public static void scr1(){
System.out.println("1. System Update");
System.out.println("2. List of movies with show timings");
System.out.println("3. Book a ticket");
System.out.println("4. Exit");
System.out.println("Choose an option.");
int op = sc.nextInt();
System.out.print("\u000c");
switch(op){
case 1: sysup();
break;
case 2:movtim();
break;
case 3:booktick();
break;
case 4: exit();
break;
default : System.out.println("Wrong option.");scr1();
}
}
public static void sysup(){
System.out.println("1. Add a new movie");
System.out.println("2. Update movie/show timings");
System.out.println("3. Delete a movie");
System.out.println("4. Return to previous menu");
System.out.println("5. Exit");
System.out.println("Choose an option.");
int op = sc.nextInt();
System.out.print("\u000c");
switch(op){
case 1: newmov();
break;
case 2: showtim();
break;
case 3: delmov();
break;
case 4: scr1();
break;
case 5: exit();
break;
default : System.out.println("Wrong option.");
sysup();
}
}
public static void disp(){
try{
System.out.println("Name\t\t\tTiming\t\t\t\tAudi\t\t\tSeats available\t\t\tprice - first class\t\t\tprice - second class\t\t\tprice - third class\t\t\tLanguage");
for(int i = 0;i<n+1;i++){
if(movies[i]!=null){
System.out.print(movies[i].name);
for(int h = 0;h<24-movies[i].name.length();h++,System.out.print(" ")){}
System.out.println(movies[i].timing[0].formatteddate() + "\t\t" + movies[i].audi[0] +"\t\t\t"+ movies[i].tickets[0]+ "\t\t\t\t" + movies[i].amountf[0] + "\t\t\t\t\t" + movies[i].amounts[0] + "\t\t\t\t\t" + movies[i].amountt[0] + "\t\t\t\t\t" + movies[i].lang);
for(int j = 1;j<movies[i].timing.length;j++){
System.out.println("\t\t\t" + movies[i].timing[j].formatteddate() + "\t\t" + movies[i].audi[j] +"\t\t\t"+movies[i].tickets[j]+ "\t\t\t\t" + movies[i].amountf[j] + "\t\t\t\t\t" + movies[i].amounts[j] + "\t\t\t\t\t" + movies[i].amountt[j]);
}
}
}
}catch(Exception e){
}
}
public static void movtim(){
disp();
scr1();
}
public static void booktick(){
disp();
System.out.println("\n\n\n");
System.out.println("Which movie would you like to go for?");
sc.nextLine();
String movname = sc.nextLine();
System.out.println("Enter date in format ddmmyyyy");
String inp = sc.next();
int day = Integer.parseInt("" + inp.charAt(0) + inp.charAt(1));
int month = Integer.parseInt("" + inp.charAt(2) + inp.charAt(3));
int year = Integer.parseInt("" + inp.charAt(4) + inp.charAt(5) + inp.charAt(6) + inp.charAt(7));
System.out.println("Enter preferred showtime in 24 hour format - hhmm");
inp = sc.next();
int hour = Integer.parseInt("" + inp.charAt(0) + inp.charAt(1));
int min = Integer.parseInt("" + inp.charAt(2) + inp.charAt(3));
System.out.println("Enter 1 for first class.");
System.out.println("Enter 2 for second class.");
System.out.println("Enter 3 for third class.");
int cl = sc.nextInt();
System.out.println("How many tickets would you like to book?");
int num = sc.nextInt();
int mov=0;
int tim=0;
int totalamount=0;
for(int i = 0;movies[i].name.equalsIgnoreCase(movname) == false;i++,mov=i){}
for(int i = 0;movies[mov].timing[i].day!=day||movies[mov].timing[i].month!=month||movies[mov].timing[i].year!=year||movies[mov].timing[i].hour!=hour||movies[mov].timing[i].min!=min;i++,tim=i){}
switch(cl){
case 1: totalamount = num * movies[mov].amountf[tim];
break;
case 2: totalamount = num * movies[mov].amounts[tim];
break;
case 3: totalamount = num * movies[mov].amountt[tim];
break;
}
System.out.println("\u000c");
if(movies[mov].tickets[tim]>=num){
System.out.println(" ______________________________________________________");
System.out.println(" | Movie Ticket |");
System.out.println(" | |");
System.out.print(" | Movie - "+movies[mov].name);