示例#1
0
        public static void Main()
        {
            var listInputs = new List <string>();

            string input;

            while ((input = Console.ReadLine()) != "END")
            {
                listInputs.Add(input);
            }
            listInputs.Add("END");

            try
            {
                switch (listInputs.Count)
                {
                case 2:
                    GetDough(listInputs);
                    break;

                case 3:
                    GetDough(listInputs);
                    string[] toppingArgs = listInputs[1].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    var      topping     = new Topping(toppingArgs[1], double.Parse(toppingArgs[2]));
                    Console.WriteLine("{0:F2}", topping.GetCalories());
                    break;

                default:
                    string[] doughArgs = listInputs[1].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    var      dough     = new Dough(doughArgs[1], doughArgs[2], double.Parse(doughArgs[3]));

                    string[] pizzaArgs = listInputs[0].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    var      pizza     = new Pizza(pizzaArgs[1], int.Parse(pizzaArgs[2]), dough);

                    foreach (var line in listInputs.Skip(2))
                    {
                        if (line == "END")
                        {
                            Console.WriteLine($"{pizza.Name} - {pizza.GetTotalCalories():F2} Calories.");
                            break;
                        }
                        toppingArgs = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        pizza.AddTopping(new Topping(toppingArgs[1], double.Parse(toppingArgs[2])));
                    }
                    break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
示例#2
0
        public static void Main()
        {
            try
            {
                string inputLine;
                while (!(inputLine = Console.ReadLine()).Equals("END"))
                {
                    var tokens = inputLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    if (tokens[0].Equals("Dough"))
                    {
                        var dough = new Dough(tokens[1], tokens[2], int.Parse(tokens[3]));
                        Console.WriteLine($"{dough.Calories():f2}");
                    }
                    else if (tokens[0].Equals("Topping"))
                    {
                        var topping = new Topping(tokens[1], int.Parse(tokens[2]));
                        Console.WriteLine($"{topping.Callories():f2}");
                    }
                    else
                    {
                        var pizzaName        = tokens[1];
                        var numberOfToppings = int.Parse(tokens[2]);
                        if (numberOfToppings > 10)
                        {
                            Console.WriteLine("Number of toppings should be in range [0..10].");
                            return;
                        }

                        inputLine = Console.ReadLine();
                        var tokensDough = inputLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                        var dough       = new Dough(tokensDough[1], tokensDough[2], int.Parse(tokensDough[3]));
                        var pizza       = new Pizza(pizzaName, dough);

                        for (int i = 0; i < numberOfToppings; i++)
                        {
                            inputLine = Console.ReadLine();
                            var tokenTopping = inputLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                            pizza.AddToppind(new Topping(tokenTopping[1], int.Parse(tokenTopping[2])));
                        }

                        Console.WriteLine($"{pizza.Name} - {pizza.Callories():f2} Calories.");
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
示例#3
0
        private static Pizza MakePizza(string name, int numberOfToppings)
        {
            var pizza = new Pizza(name, numberOfToppings);

            var doughInfo = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

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

            for (int i = 0; i < numberOfToppings; i++)
            {
                var toppingInfo = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                var topping     = new Topping(toppingInfo[1], int.Parse(toppingInfo[2]));
                pizza.AddTopping(topping);
            }

            return(pizza);
        }
示例#4
0
        private static void AddPizza(string[] tokens)
        {
            Pizza pizza = new Pizza(tokens[1], int.Parse(tokens[2]));

            tokens = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Dough dough = new Dough(tokens[1], tokens[2], int.Parse(tokens[3]));

            pizza.Dough = dough;

            for (int i = 0; i < pizza.ToppingsCount; i++)
            {
                tokens = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                Topping top = new Topping(tokens[1], int.Parse(tokens[2]));
                pizza.AddToppingToPizza(top);
            }

            Console.WriteLine(pizza.ToString());
        }
示例#5
0
        static void Main(string[] args)
        {
            try
            {
                string[] pizzaArgs = Console.ReadLine().Split();

                string pizzaName = pizzaArgs[1];

                string[] doughArgs = Console.ReadLine().Split();

                string doughFlourType       = doughArgs[1];
                string doughBakingTechnique = doughArgs[2];
                double weight = double.Parse(doughArgs[3]);

                Dough dough = new Dough(doughFlourType, doughBakingTechnique, weight);

                Pizza pizza = new Pizza(pizzaName, dough);

                string inputLine = Console.ReadLine();

                while (inputLine != "END")
                {
                    string[] toppingArgs = inputLine.Split();

                    string toppingType   = toppingArgs[1];
                    double weightTopping = double.Parse(toppingArgs[2]);

                    Topping topping = new Topping(toppingType, weightTopping);

                    pizza.AddTopping(topping);

                    inputLine = Console.ReadLine();
                }

                Console.WriteLine($"{pizza.Name} - {pizza.GetTotalCalories().ToString("f2")} Calories.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#6
0
        public static void Main()
        {
            Dough   dough;
            Topping topping;
            Pizza   pizza;

            try
            {
                var pizzaInfo = Console.ReadLine().Split(" ".ToCharArray()).ToArray();
                var pizzaName = pizzaInfo[1];
                pizza = new Pizza(pizzaName);

                var doughInfo       = Console.ReadLine().Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToArray();
                var flourType       = doughInfo[1];
                var bakingTechnique = doughInfo[2];
                var weight          = double.Parse(doughInfo[3]);
                dough       = new Dough(flourType.ToLower(), bakingTechnique.ToLower(), weight);
                pizza.Dough = dough;

                string toppingInfo;
                while ((toppingInfo = Console.ReadLine()) != "END")
                {
                    string[] toppingParams = toppingInfo.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToArray();

                    var toppingName   = toppingParams[1].ToLower();
                    var toppingWeight = double.Parse(toppingParams[2]);
                    topping = new Topping(toppingName, toppingWeight);

                    pizza.AddTopping(topping);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }

            Console.WriteLine(pizza);
        }
示例#7
0
        public static void Main()
        {
            try
            {
                string[] nameInput = Console.ReadLine().Split();
                string   name      = nameInput[1];

                string[] doughInformation = Console.ReadLine().Split();
                string   flourType        = doughInformation[1];
                string   bakingTechnique  = doughInformation[2];
                double   weight           = double.Parse(doughInformation[3]);

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

                Pizza pizza = new Pizza(name, dough);

                string toppingInformation = Console.ReadLine();
                while (toppingInformation != "END")
                {
                    string[] parts = toppingInformation.Split();
                    string   type  = parts[1];
                    weight = double.Parse(parts[2]);

                    Topping topping = new Topping(type, weight);
                    pizza.AddTopping(topping);

                    toppingInformation = Console.ReadLine();
                }

                Console.WriteLine(pizza);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#8
0
 public void AddTopping(Topping topping)
 {
     this.topings.Add(topping);
 }
示例#9
0
 public void AddToppingToPizza(Topping topping)
 {
     this.toppings.Add(topping);
 }
示例#10
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();
            }
        }
示例#11
0
 public void AddToppind(Topping topping)
 {
     this.Toppings.Add(topping);
 }
示例#12
0
        private static void AddTopping(string[] tokens)
        {
            Topping top = new Topping(tokens[1], int.Parse(tokens[2]));

            Console.WriteLine($"{top.CalculateToppingCalories():f2}");
        }
示例#13
0
        public static void Main()
        {
            var pizza = new Pizza();
            var dough = new Dough();

            var line = Console.ReadLine();

            if (line.Contains("Dough"))
            {
                var tokens = line
                             .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                             .ToArray();

                var type   = tokens[1];
                var tech   = tokens[2];
                var weight = double.Parse(tokens[3]);

                try
                {
                    dough = new Dough(type, tech, weight);
                    Console.WriteLine($"{dough.GetCalculateCalories():F2}");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    return;
                }

                line = Console.ReadLine();

                if (line.Equals("END"))
                {
                    return;
                }
            }

            if (line.Contains("Topping"))
            {
                var tokens = line
                             .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                             .ToArray();

                var toppingName   = tokens[1];
                var toppingWeight = double.Parse(tokens[2]);

                try
                {
                    var topping = new Topping(toppingName, toppingWeight);
                    Console.WriteLine($"{topping.GetCalculateCalories():F2}");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return;
                }

                return;
            }

            while (line != "END")
            {
                var lineTokens = line
                                 .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                 .ToArray();

                switch (lineTokens[0])
                {
                case "Pizza":
                    var name         = lineTokens[1];
                    var toppingCount = int.Parse(lineTokens[2]);

                    try
                    {
                        pizza = new Pizza(name, toppingCount);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        return;
                    }

                    break;

                case "Dough":
                    var type   = lineTokens[1];
                    var tech   = lineTokens[2];
                    var weight = double.Parse(lineTokens[3]);

                    try
                    {
                        dough       = new Dough(type, tech, weight);
                        pizza.Dough = dough;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        return;
                    }

                    break;

                case "Topping":
                    var toppingName   = lineTokens[1];
                    var toppingWeight = double.Parse(lineTokens[2]);

                    try
                    {
                        var topping = new Topping(toppingName, toppingWeight);
                        pizza.Toppings.Add(topping);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        return;
                    }

                    break;
                }

                line = Console.ReadLine();
            }

            Console.WriteLine($"{pizza.Name} - {pizza.GetCalculateCalories():F2} Calories.");
        }