Exemple #1
0
        static void Main(string[] args)
        {
            const int MINIMAL_SALARY          = 28284;
            const int REQUIRED_MINIMAL_SALARY = 2 * MINIMAL_SALARY;

            int    count           = 0;
            int    input           = 0;
            int    countMember     = 0;
            int    perCapitaIncome = 0;
            double average         = 0;
            bool   success         = false;

            while (!success)
            {
                Console.WriteLine("Введите количество студентов: ");
                string countText = Console.ReadLine();
                if (!int.TryParse(countText, out count))
                {
                    Console.WriteLine("Не корректный ввод!");
                }
                else
                {
                    Console.WriteLine($"Количество студентов равна: {count}");
                    Student[] students = new Student[count + 1];
                    Student   student  = new Student();

                    for (int i = 1; i < students.Length; i++)
                    {
                        Console.WriteLine($"\nВведите имя {i} студента: ");
                        students[i].LastName = Console.ReadLine();

                        Console.WriteLine($"Введите фамилию {i} студента: ");
                        students[i].FirstName = Console.ReadLine();

                        Console.WriteLine($"Введите отчество {i} студента: ");
                        students[i].MiddleName = Console.ReadLine();

                        Console.WriteLine($"Введите пол {i} студента: ");
                        Console.WriteLine("1. Мужской\n2. Женский");
                        string inputText = Console.ReadLine();
                        if (int.TryParse(inputText, out input))
                        {
                            switch (input)
                            {
                            case 1:
                                students[i].Gender = Gender.Boy;
                                break;

                            case 2:
                                students[i].Gender = Gender.Girl;
                                break;
                            }
                        }

                        Console.WriteLine($"Введите форму обучения {i} студента: ");
                        Console.WriteLine("1. Очное\n2. Заочное\n3. Дистанционное");
                        string inputText2 = Console.ReadLine();
                        if (int.TryParse(inputText2, out input))
                        {
                            switch (input)
                            {
                            case 1:
                                students[i].FormOfStudy = FormOfStudy.FullTime;
                                break;

                            case 2:
                                students[2].FormOfStudy = FormOfStudy.Correspondence;
                                break;

                            case 3:
                                students[i].FormOfStudy = FormOfStudy.Remote;
                                break;
                            }
                        }

                        Console.WriteLine($"Введите группу {i} студента: ");
                        students[i].Group = Console.ReadLine();

                        Console.WriteLine($"Введите средний балл {i} студента: ");
                        string averageInput = Console.ReadLine();
                        if (double.TryParse(averageInput, out average))
                        {
                            students[i].AveragePoint = average;
                        }
                        else
                        {
                            double temp       = student.GenerateAveragePoint();
                            string tempFormat = string.Format("{0:F1}", temp);
                            Console.WriteLine("Не корректный ввод! Средний балл студента равна " + tempFormat);
                            students[i].AveragePoint = temp;
                        }

                        Console.WriteLine($"Введите количество членов семьи {i} студента: ");
                        string countMemberInput = Console.ReadLine();
                        if (int.TryParse(countMemberInput, out countMember))
                        {
                            students[i].MembersOfFamily = countMember;
                        }
                        else
                        {
                            int temp = student.GenerateMembersOfFamily();
                            Console.WriteLine("Не корректный ввод! Количество членов семьи равна " + temp);
                            students[i].MembersOfFamily = temp;
                        }

                        Console.WriteLine($"Введите доход на члена семьи {i} студента: ");
                        string capitaIncomeInput = Console.ReadLine();
                        if (int.TryParse(capitaIncomeInput, out perCapitaIncome))
                        {
                            students[i].PerCapitaIncome = perCapitaIncome;
                        }
                        else
                        {
                            int temp = student.GeneratePerCapitaIncome();
                            Console.WriteLine("Не корректный ввод! Доход на члена семьи равна " + temp + " тг");
                            students[i].PerCapitaIncome = temp;
                        }
                    }
                    Console.WriteLine("Press any key...");
                    Console.ReadLine();
                    Console.Clear();

                    Array.Sort(students, new Comparison <Student>((a, b) => a.AveragePoint.CompareTo(b.AveragePoint)));

                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.WriteLine("Список студентов");
                    Console.ResetColor();
                    for (int i = 1; i < students.Length; i++)
                    {
                        students[i].ShowInfo();
                    }
                }
            }
        }