Advertisement
gabi11

Stacks and Queues - 06. Auto Repair and Service

May 10th, 2019
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.07 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace Advanced
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var queueOfCars = new Queue<string>(Console.ReadLine().Split());
  14.             var servedCars = new Queue<string>();
  15.  
  16.             while (true)
  17.             {
  18.                 var input = Console.ReadLine();
  19.  
  20.                 if (input == "End")
  21.                 {
  22.                     break;
  23.                 }
  24.  
  25.                 string[] action = input.Split('-');
  26.  
  27.                 string command = action[0];
  28.  
  29.                 switch (command)
  30.                 {
  31.                     case "Service":
  32.                         if (queueOfCars.Any())
  33.                         {
  34.                             servedCars.Enqueue(queueOfCars.Peek());
  35.                             Console.WriteLine($"Vehicle {queueOfCars.Dequeue()} got served.");
  36.                         }
  37.                         break;
  38.  
  39.                     case "CarInfo":
  40.                         if (queueOfCars.Contains(action[1]))
  41.                         {
  42.                             Console.WriteLine("Still waiting for service.");
  43.                         }
  44.  
  45.                         else
  46.                         {
  47.                             Console.WriteLine("Served.");
  48.                         }
  49.                         break;
  50.  
  51.                     case "History":
  52.                         var servedToPrint = servedCars.ToArray().Reverse();
  53.                         Console.WriteLine(string.Join(", ", servedToPrint));
  54.                         break;
  55.                 }
  56.             }
  57.             if (queueOfCars.Any())
  58.             {
  59.                 Console.WriteLine($"Vehicles for service: {string.Join(", ", queueOfCars)}");
  60.             }
  61.  
  62.             if (servedCars.Any())
  63.             {
  64.                 var servedFinal = servedCars.ToArray().Reverse();
  65.                 Console.WriteLine($"Served vehicles: {string.Join(", ", servedFinal)}");
  66.             }
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement