Exemplo n.º 1
0
    public static void Main()
    {
        string inputLine;

        while ((inputLine = Console.ReadLine()) != "END")
        {
            var tokens = inputLine.Split(' ');
            try
            {
                switch (tokens[0])
                {
                case "Dough":
                    var dough = new Dough(tokens[1], tokens[2], int.Parse(tokens[3]));
                    Console.WriteLine($"{dough.CalculateCalories():f2}");
                    break;

                case "Topping":
                    var topping = new Topping(tokens[1], int.Parse(tokens[2]));
                    Console.WriteLine($"{topping.CalculateCalories():f2}");
                    break;

                case "Pizza":
                    MakePizza(tokens);
                    break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return;
            }
        }
    }
Exemplo n.º 2
0
    public static void Main()
    {
        var pizzaInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        var pizza     = new Pizza();
        var resultIfThereIsNoPizza = new StringBuilder();

        try
        {
            while (!pizzaInfo[0].Equals("END"))
            {
                if (pizzaInfo[0].Equals("Dough"))
                {
                    var dough = new Dough(pizzaInfo[1], pizzaInfo[2], double.Parse(pizzaInfo[3]));
                    pizza.DoughType = dough;
                    resultIfThereIsNoPizza.AppendLine($"{dough.CalculateCalories():F2}");
                }
                else if (pizzaInfo[0].Equals("Topping"))
                {
                    var topping = new Topping(pizzaInfo[1], double.Parse(pizzaInfo[2]));
                    resultIfThereIsNoPizza.AppendLine($"{topping.CalculateCalories():F2}");
                    pizza.AddToppingToTheList(topping);
                }
                else if (pizzaInfo[0].Equals("Pizza"))
                {
                    pizza = new Pizza(pizzaInfo[1], int.Parse(pizzaInfo[2]));
                }
                pizzaInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            }

            if (!string.IsNullOrEmpty(pizza.Name))
            {
                Console.WriteLine($"{pizza.Name} - {pizza.GetAllCaloriesPizzaHave():F2} Calories.");
            }
            else
            {
                Console.WriteLine(resultIfThereIsNoPizza);
            }
        }
        catch (ArgumentException ex)
        {
            if (string.IsNullOrEmpty(pizza.Name))
            {
                Console.Write(resultIfThereIsNoPizza);
            }
            Console.WriteLine(ex.Message);
        }
    }
Exemplo n.º 3
0
    static void Main()
    {
        List <Pizza> pizzas = new List <Pizza>();

        string[] pizzaInfo = Console.ReadLine().Split(' ').ToArray();
        while (pizzaInfo[0] != "END")
        {
            switch (pizzaInfo[0])
            {
            case "Pizza":
                try
                {
                    Pizza pizza = new Pizza(pizzaInfo[1], int.Parse(pizzaInfo[2]));
                    pizzas.Add(pizza);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
                break;

            case "Dough":
                try
                {
                    Douth douth = new Douth(pizzaInfo[1], pizzaInfo[2], double.Parse(pizzaInfo[3]));

                    if (pizzas.Count == 0)
                    {
                        Console.WriteLine("{0:f2}", douth.CalculateCalories());

                        pizzaInfo = Console.ReadLine().Split(' ').ToArray();
                        if (pizzaInfo[0] == "END")
                        {
                            return;
                        }
                        continue;
                    }
                    pizzas[0].Douth = douth;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
                break;

            case "Topping":
                try
                {
                    Topping topping = new Topping(pizzaInfo[1], double.Parse(pizzaInfo[2]));
                    if (pizzas.Count == 0)
                    {
                        Console.WriteLine("{0:f2}", topping.CalculateCalories());
                        pizzaInfo = Console.ReadLine().Split(' ').ToArray();
                        if (pizzaInfo[0] == "END")
                        {
                            return;
                        }
                        continue;
                    }

                    pizzas[0].AddToppings(topping);    //add topping
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }
                break;
            }
            pizzaInfo = Console.ReadLine().Split(' ').ToArray();
        }
        Console.WriteLine(pizzas[0].Name + " – {0:f2}", pizzas[0].TotalCalloriesSum());
    }