コード例 #1
0
        public static void Main()
        {
            var input = Console.ReadLine();

            var tokens = input.Trim().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            if (tokens[0] == "Pizza")
            {
                var pizzaName     = tokens[1];
                var toppingsCount = int.Parse(tokens[2]);

                try
                {
                    var pizza = new Pizza(pizzaName, toppingsCount);

                    AddDough(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                    pizza.DoughType = dough;

                    for (int i = 0; i < toppingsCount; i++)
                    {
                        AddTopping(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                    }
                    pizza.Toppings = toppings.ToArray();

                    Console.WriteLine(pizza.ToString());
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return;
                }
            }
            else
            {
                while (input != "END")
                {
                    tokens = input.Trim().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                    switch (tokens[0])
                    {
                    case "Dough":
                        try
                        {
                            AddDough(tokens);
                            Console.WriteLine($"{dough.CalculateDoughCalories():f2}");
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            return;
                        }
                        break;

                    case "Topping":
                        try
                        {
                            AddTopping(tokens);
                            Console.WriteLine($"{toppings[0].CalculateToppingCalories():f2}");
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                            return;
                        }
                        break;
                    }

                    input = Console.ReadLine();
                }
            }
        }