コード例 #1
0
ファイル: Program.cs プロジェクト: Chemist-lab/OOP_Lab6_1
 static Price_manager FindType(Sale_manager Object, List <Price_manager> Types)
 {
     foreach (Price_manager x in Types)
     {
         if (Object.Name == x.Name)
         {
             return(x);
         }
     }
     return(null);
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: Chemist-lab/OOP_Lab6_1
        static void SaleM()
        {
            List <Sale_manager>  sm = new List <Sale_manager>();
            List <Price_manager> pr = new List <Price_manager>();


            // Введення ціни та назви товару
            pramAdd(pr);

            // Введення статистики продажу
            Sale_manager smn = new Sale_manager();

            smn.samAdd(sm);

            float[]       temprPrice = new float[sm.Count];
            Price_manager FoundData;
            string        name;
            var           sorPR = pr.OrderBy(o => o.Price).ToList();

            // Сортування
            for (int i = 0; i < sm.Count; i++)
            {
                for (int k = 0; k < sm.Count; k++)
                {
                    if (sm[i].Name == sm[k].Name && k != i)
                    {
                        sm[i].Count += sm[k].Count;
                        sm[i].Date  += "\n                              " + sm[k].Date;
                        sm.Remove(sm[k]);
                    }
                }
            }
            List <Sale_manager> newsm  = new List <Sale_manager>();
            List <float>        newsmp = new List <float>();

            foreach (Sale_manager smx in sm)
            {
                newsmp.Add(FindType(smx, pr).Price *smx.Count);
                newsm.Add(smx);
            }
            int cnt = newsm.Count;

            sm = new List <Sale_manager>();
            for (int i = 0; i < cnt; i++)
            {
                int index = newsmp.IndexOf(newsmp.Max());
                sm.Add(newsm[index]);
                newsmp.RemoveAt(index);
                newsm.RemoveAt(index);
            }
            sm.Reverse();


            // Вивід таблиці
            float totalPrice = 0, totalTempPrice = 1;

            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("                  ╔═════════╤════════════╤═══════╤════════════╗");
            Console.WriteLine("                     Назва  │    Дата    │ К-сть │   Ціна   ");
            Console.WriteLine("                  ╠═════════╪════════════╪═══════╪════════════╣");
            float  tempPrice;
            string cutPrice = "";

            foreach (Sale_manager s in sm)
            {
                for (int i = 0; i < pr.Count; i++)
                {
                    if (s.Name == pr[i].Name)
                    {
                        tempPrice = pr[i].Price * s.Count;
                        Console.WriteLine("                    " + s.Name + "    " + s.Date + "    " + s.Count + "     " + tempPrice);
                        Console.WriteLine("                  ╟─────────┼────────────┼───────┼────────────╢");
                    }
                }
            }

            // Підрахунох всієї виручки
            foreach (Sale_manager s in sm)
            {
                for (int i = 0; i < sorPR.Count; i++)
                {
                    if (s.Name == sorPR[i].Name)
                    {
                        tempPrice      = sorPR[i].Price;
                        totalTempPrice = tempPrice * s.Count;
                    }
                }
                totalPrice    += totalTempPrice;
                totalTempPrice = 0;
            }
            Console.WriteLine("                  ╟─────────┴────────────┴───────┴────────────╢");
            Console.WriteLine("                    Вартість виготовленої продукції: " + totalPrice);

            Console.WriteLine("                  ╚═══════════════════════════════════════════╝");
            Console.ReadLine();
        }