Example #1
0
        public static void Main()
        {
            try
            {
                string input;

                while ((input = Console.ReadLine()) != "END")
                {
                    string[] elements = input.Split(' ');
                    string   kind     = elements[0];

                    if (kind.ToLower() == "pizza")
                    {
                        string pizzaName        = elements[1];
                        int    numberOfToppings = int.Parse(elements[2]);

                        Pizza pizza = new Pizza(pizzaName, numberOfToppings);

                        string[] doughInfo = Console.ReadLine().Split(' ');

                        Dough dough = new Dough(doughInfo[1], doughInfo[2], double.Parse(doughInfo[3]));
                        pizza.Dough = dough;

                        for (int i = 0; i < numberOfToppings; i++)
                        {
                            string[] toppingInfo = Console.ReadLine().Split(' ');

                            Topping topping = new Topping(toppingInfo[1], double.Parse(toppingInfo[2]));

                            pizza.AddTopping(topping);
                        }

                        Console.WriteLine($"{pizza.Name} - {pizza.GetCalories():f2} Calories.");
                    }
                    else if (kind.ToLower() == "dough")
                    {
                        string flourType       = elements[1];
                        string bakingTechnique = elements[2];
                        double weight          = double.Parse(elements[3]);

                        Dough dough = new Dough(flourType, bakingTechnique, weight);

                        Console.WriteLine($"{dough.GetCalories():f2}");
                    }
                    else if (kind.ToLower() == "topping")
                    {
                        string type   = elements[1];
                        double weight = double.Parse(elements[2]);

                        Topping topping = new Topping(type, weight);

                        Console.WriteLine($"{topping.GetCalories():f2}");
                    }
                }
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #2
0
        public static void Main()
        {
            string command = Console.ReadLine();

            while (command != "END")
            {
                string[] tokens = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (tokens[0] == "Dough")
                {
                    try
                    {
                        Dough dough = new Dough(tokens[1], tokens[2], int.Parse(tokens[3]));
                        Console.WriteLine($"{dough.CalculateCalories():F2}");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        return;
                    }
                }
                else if (tokens[0] == "Topping")
                {
                    try
                    {
                        Topping topping = new Topping(tokens[1], int.Parse(tokens[2]));
                        Console.WriteLine($"{topping.CalculateCalories():F2}");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        return;
                    }
                }
                else
                {
                    string name             = tokens[1];
                    int    numberOfToppings = int.Parse(tokens[2]);

                    command = Console.ReadLine();
                    tokens  = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    Pizza pizza;
                    try
                    {
                        Dough dough = new Dough(tokens[1], tokens[2], int.Parse(tokens[3]));
                        pizza = new Pizza(name, dough);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        return;
                    }

                    for (int i = 0; i < numberOfToppings; i++)
                    {
                        command = Console.ReadLine();
                        tokens  = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        try
                        {
                            Topping topping = new Topping(tokens[1], int.Parse(tokens[2]));
                            pizza.AddTopping(topping);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            return;
                        }
                    }
                    Console.WriteLine($"{pizza.Name} - {pizza.GetCalories():F2} Calories.");
                    return;
                }
                command = Console.ReadLine();
            }
        }