Didart

Cinema Tickets - Nested Loops

Apr 19th, 2022
1,012
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function cinemaTickets(input) {
  2.     let index = 0;
  3.     let command = input[index];
  4.     let studentCounter = 0;
  5.     let standartCounter = 0;
  6.     let kidCounter = 0;
  7.     let totalTicketsCounter = 0;
  8.  
  9.     while (command !== 'Finish') {
  10.         let name = command;
  11.         index++;
  12.         let freeSpaces = Number(input[index]);
  13.         index++;
  14.         let typeTicket = input[index];
  15.         let ticketCounter = 0;
  16.  
  17.         while (typeTicket !== 'End') {
  18.             ticketCounter++;
  19.             switch (typeTicket) {
  20.                 case 'student':
  21.                     studentCounter++;
  22.                     break;
  23.                 case 'standard':
  24.                     standartCounter++;
  25.                     break;
  26.                 case 'kid':
  27.                     kidCounter++;
  28.                     break;
  29.             }
  30.             if (ticketCounter >= freeSpaces) {
  31.                 break;
  32.             }
  33.             typeTicket = input[++index];
  34.         }
  35.         totalTicketsCounter += ticketCounter;
  36.         let resultSingleFilm = ticketCounter / freeSpaces * 100;
  37.        
  38.         console.log(`${name} - ${resultSingleFilm.toFixed(2)}% full.`);
  39.         command = input[++index];
  40.     }
  41.  
  42.     console.log(`Total tickets: ${totalTicketsCounter}`);
  43.     console.log(`${(studentCounter / totalTicketsCounter * 100).toFixed(2)}% student tickets.`);
  44.     console.log(`${(standartCounter / totalTicketsCounter * 100).toFixed(2)}% standard tickets.`);
  45.     console.log(`${(kidCounter / totalTicketsCounter * 100).toFixed(2)}% kids tickets.`);
  46.  
  47. }
  48.  
  49. cinemaTickets(["Taxi", "10", "standard", "kid", "student", "student", "standard", "standard", "End", "Scary Movie", "6", "student", "student", "student", "student", "student", "student", "Finish"])
  50.  
Advertisement
Add Comment
Please, Sign In to add comment