Example #1
0
        public static SiteLr Create(String str)
        {
            SiteLr p = new SiteLr();

            //string[] e = str.Split(',');
            string[] e = Regex.Split(str, ",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
            p.ID       = e[0].Trim();
            p.Login    = e[1].Trim();
            p.Password = e[2].Trim();
            String tmp = e[4].Trim();

            if (tmp == "A")
            {
                p.DepartmentName = Department.A;
            }
            else if (tmp == "B")
            {
                p.DepartmentName = Department.B;
            }
            else if (tmp == "C")
            {
                p.DepartmentName = Department.C;
            }
            else
            {
                p.DepartmentName = Department.D;
            }

            p.Salary = Convert.ToSingle(e[3].TrimStart('$').Replace('.', ','));
            p.HasCat = Convert.ToBoolean(e[5].Trim());
            p.HasDog = Convert.ToBoolean(e[6].Trim());
            p.HasGun = Convert.ToBoolean(e[7].Trim());

            return(p);
        }
Example #2
0
        static void Main(string[] args)
        {
            StreamReader f_in = new StreamReader("lr11_07.csv");

#if !DEBUG
            TextWriter save_out = Console.Out;
            var        new_out  = new StreamWriter(@"lr11.txt");
            Console.SetOut(new_out);
#endif

            List <SiteLr> all = new List <SiteLr>();

            try
            {
                String line = f_in.ReadLine();
                while ((line = f_in.ReadLine()) != null)
                {
                    all.Add(SiteLr.Create(line));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.WriteLine("Всего пользователей: {0}", all.Count);
            foreach (var p in all)
            {
                Console.WriteLine(p);
            }



            Console.WriteLine("******************************* Задание 1 *******************************");
            Console.WriteLine("******* Количество сотрудников без логина *******\n");

            int amount = all.FindAll(p => p.Login == "").ToList().Count;
            Console.WriteLine("Количество сотрудников без логина: {0}", amount);

            Console.WriteLine("\n\n");


            Console.WriteLine("******************************* Задание 2 *******************************");
            Console.WriteLine("*******  Средняя заработная плата по каждому из 4-х отделов *******\n");

            float averageA = (from p in all
                              where (p.DepartmentName == Department.A)
                              select p.Salary).Average();
            float averageB = (from p in all
                              where (p.DepartmentName == Department.B)
                              select p.Salary).Average();
            float averageC = (from p in all
                              where (p.DepartmentName == Department.C)
                              select p.Salary).Average();
            float averageD = (from p in all
                              where (p.DepartmentName == Department.D)
                              select p.Salary).Average();
            Console.WriteLine(String.Format("Средння з/п в отделе А: ${0}", averageA));
            Console.WriteLine(String.Format("Средння з/п в отделе B: ${0}", averageB));
            Console.WriteLine(String.Format("Средння з/п в отделе C: ${0}", averageC));
            Console.WriteLine(String.Format("Средння з/п в отделе D: ${0}", averageD));

            Console.WriteLine("\n\n");


            Console.WriteLine("******************************* Задание 3 *******************************");
            Console.WriteLine("******* Максимальная з/п сотрудников у которых есть собака или кошка *******\n");
            float SalaryAMaxC = (from p in all
                                 where (p.DepartmentName == Department.A) && p.HasCat
                                 select p.Salary).Max();
            float SalaryBMaxC = (from p in all
                                 where (p.DepartmentName == Department.B) && p.HasCat
                                 select p.Salary).Max();
            float SalaryCMaxC = (from p in all
                                 where (p.DepartmentName == Department.C) && p.HasCat
                                 select p.Salary).Max();
            float SalaryDMaxC = (from p in all
                                 where (p.DepartmentName == Department.D) && p.HasCat
                                 select p.Salary).Max();
            float SalaryAMaxD = (from p in all
                                 where (p.DepartmentName == Department.A) && p.HasDog
                                 select p.Salary).Max();
            float SalaryBMaxD = (from p in all
                                 where (p.DepartmentName == Department.B) && p.HasDog
                                 select p.Salary).Max();
            float SalaryCMaxD = (from p in all
                                 where (p.DepartmentName == Department.C) && p.HasDog
                                 select p.Salary).Max();
            float SalaryDMaxD = (from p in all
                                 where (p.DepartmentName == Department.D) && p.HasDog
                                 select p.Salary).Max();


            float[] max = new float [8];
            max[0] = SalaryAMaxC;
            max[1] = SalaryBMaxC;
            max[2] = SalaryCMaxC;
            max[3] = SalaryDMaxC;
            max[4] = SalaryAMaxD;
            max[5] = SalaryBMaxD;
            max[6] = SalaryCMaxD;
            max[7] = SalaryDMaxD;

            float MaxSalary = max.Max();
            Console.WriteLine(" Максимальная з/п сотрудников у которых есть собака или кошка: " + MaxSalary + "$");

            Console.WriteLine("\n\n\n");


            Console.WriteLine("******************************* Задание 4 *******************************");
            Console.WriteLine("******* Средняя з/п у сотрудников с оружием и без. *******\n");

            float AverageAMaxC = (from p in all
                                  where (p.DepartmentName == Department.A) && p.HasGun
                                  select p.Salary).Average();
            float AverageBMaxC = (from p in all
                                  where (p.DepartmentName == Department.B) && p.HasGun
                                  select p.Salary).Average();
            float AverageCMaxC = (from p in all
                                  where (p.DepartmentName == Department.C) && p.HasGun
                                  select p.Salary).Average();
            float AverageDMaxC = (from p in all
                                  where (p.DepartmentName == Department.D) && p.HasGun
                                  select p.Salary).Average();
            float AverageAMaxD = (from p in all
                                  where (p.DepartmentName == Department.A) && !p.HasGun
                                  select p.Salary).Average();
            float AverageBMaxD = (from p in all
                                  where (p.DepartmentName == Department.B) && !p.HasGun
                                  select p.Salary).Average();
            float AverageCMaxD = (from p in all
                                  where (p.DepartmentName == Department.C) && !p.HasGun
                                  select p.Salary).Average();
            float AverageDMaxD = (from p in all
                                  where (p.DepartmentName == Department.D) && !p.HasGun
                                  select p.Salary).Average();
            ;
            Console.WriteLine(String.Format("Средння зарплата отдела А с оружием: ${0}", AverageAMaxC));
            Console.WriteLine(String.Format("Средння зарплата отдела B с оружием: ${0}", AverageBMaxC));
            Console.WriteLine(String.Format("Средння зарплата отдела C с оружием: ${0}", AverageCMaxC));
            Console.WriteLine(String.Format("Средння зарплата отдела D с оружием: ${0}", AverageDMaxC));
            Console.WriteLine(String.Format("Средння зарплата отдела А без оружия: ${0}", AverageAMaxD));
            Console.WriteLine(String.Format("Средння зарплата отдела B без оружия: ${0}", AverageBMaxD));
            Console.WriteLine(String.Format("Средння зарплата отдела C без оружия: ${0}", AverageCMaxD));
            Console.WriteLine(String.Format("Средння зарплата отдела D без оружия: ${0}", AverageDMaxD));

#if !DEBUG
            Console.SetOut(save_out);
            new_out.Close();
#endif
        }