Example #1
0
        static void removeStudentInArray( string readSurname )
        {
            if ( readSurname == "" )
            {
                Console.WriteLine( "Ничего не введено.Попробуйте ещё раз!" );
            }
            else
            {

                Student[] arrStudents = new Student[students.Length];

                for (int i = 0; i < students.Length; i++)
                {
                    if (students[i].LastName != readSurname && !students[i].isEmpty())
                    {
                        arrStudents[i] = students[i];
                    }
                    else if (students[i].LastName == readSurname)
                    {
                        students[i].makeEmpty();
                        arrStudents[i] = students[i];
                    }
                    else arrStudents[i] = students[i];
                }

                Array.Copy(arrStudents, students, students.Length);

                for (int i = 0; i < students.Length; i++)
                {
                    if (!students[i].isEmpty())
                    {
                        students[i].outputDataAboutStudents();
                    }
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            bool flag = true;

            for (int i = 0; i < maxNumberStudents; i++)
            {
                students[i] = new Student();
            }
            while (flag)
            {

                Console.WriteLine("\nВыберите действие:\n");
                Console.WriteLine("1 - Тестовое создание объектов класса Студент");
                Console.WriteLine("2 - Тестовое использование свойств класса Студент и метода ввода");
                Console.WriteLine("3 - Формирование нового списка студентов");
                Console.WriteLine("4 - Добавление данных о студенте");
                Console.WriteLine("5 - Вывод списка студентов на экран");
                Console.WriteLine("6 - Операция класса: Вычисление разницы в возрасте (в днях) для двух студентов");
                Console.WriteLine("7 - Поиск в массиве всех студентов заданного года рождения");
                Console.WriteLine("8 - Удаление студента с заданной фамилией из массива");
                Console.WriteLine("9 - Сортировка по полной дате рождения");
                Console.WriteLine("10 - Сортировка по полной ФИО");
                Console.WriteLine("11 - Записать массив студентов в файл");
                Console.WriteLine("0 - Выход");

                try
                {

                    int choose = int.Parse(Console.ReadLine());

                    switch (choose)
                    {

                        case 0:
                            {
                                flag = false;
                                Console.WriteLine("Программа завершила работу.");
                                break;
                            }

                        case 1:
                            {

                                Console.WriteLine("Количество созданных объектов = {0}", Student.quantityObjects - 20);
                                Console.WriteLine("\nДемонстрируется работа трех конструкторов: ");

                                Student firstStudent = new Student();
                                firstStudent.outputDataAboutStudents();

                                Student secondStudent = new Student("Иван", "Николаевич", "Тополев", 10, 12, 1990);
                                secondStudent.outputDataAboutStudents();

                                Student thirdStudent = new Student("Максимов");
                                thirdStudent.outputDataAboutStudents();

                                Console.WriteLine("\nКоличество созданных объектов = {0}", Student.quantityObjects - 20);
                                break;

                            }

                        case 2:
                            {
                                Console.WriteLine(" Для демонстрации свойств класса и метода вывода создайте студента. ");

                                Student student = new Student();
                                student.inputDataAboutStudents();

                                Console.WriteLine("\nСоздан студент:");
                                Console.WriteLine("ФИО: {0} {1} {2}   Дата Рождения:{3}.{4}.{5}", student.LastName, student.Name, student.Patronymic,
                                                                                                  student.Day_birth, student.Month_birth, student.Year_birth);

                                student.Name = "Василий";
                                student.Patronymic = "Федорович";
                                student.LastName = "Астафьев";
                                student.Day_birth = 15;
                                student.Month_birth = 10;
                                student.Year_birth = 1994;

                                Console.WriteLine("\nДанные студента изменены:");
                                Console.WriteLine("ФИО: {0} {1} {2}   Дата Рождения:{3}.{4}.{5}", student.LastName, student.Name, student.Patronymic,
                                                                                                  student.Day_birth, student.Month_birth, student.Year_birth);
                                break;

                            }

                        case 3:
                            {
                                if (numberStudents == 0) new_array();
                                else Console.WriteLine("Список уже сформирован, Вы можете только добавить студента");
                                break;
                            }
                        case 4: addStudent(); break;
                        case 5: outputArrayStudents(); break;
                        case 6:
                            {

                                Student s1 = new Student();
                                s1.inputDataAboutStudents();
                                Console.WriteLine("\nСоздан студент: ");
                                s1.outputDataAboutStudents();

                                Student s2 = new Student();
                                s2.inputDataAboutStudents();
                                Console.WriteLine("\nСоздан студент: ");
                                s2.outputDataAboutStudents();

                                Console.WriteLine("Разница в возрасте двух студентов: {0} дн.", Math.Abs(s1 - s2));
                                break;

                            }
                        case 7:
                            {
                                Console.WriteLine("\nВведите год рождения студента, данные о котором Вы хотите найти:  ");
                                int readYearBirth = int.Parse(Console.ReadLine());
                                Student.findStudentsByYearBirth(students, numberStudents, readYearBirth);
                                break;
                            }
                        case 8:
                            {
                                Console.WriteLine("Введите фамилию студента, которого хотите удалить: ");
                                string readSurname = Console.ReadLine();

                                removeStudentInArray(readSurname);
                                break;
                            }
                        case 9:
                            {

                                  Console.WriteLine( "Сортировка по полной дате рождения:" );
                                  Array.Sort( students, new Student.SortByFullDateBirth());
                                  foreach (Student elem in students)
                                  {
                                      if( !elem.isEmpty() )
                                      elem.outputDataAboutStudents();
                                  }
                                  break;

                            }
                        case 10:
                            {

                                Console.WriteLine("Сортировка по ФИО:");
                                Array.Sort(students, new Student.SortByName());
                                Array.Sort(students, new Student.SortByPatronymic());
                                Array.Sort(students, new Student.SortByLastName());
                                foreach (Student elem in students)
                                {
                                    if( !elem.isEmpty() )
                                    elem.outputDataAboutStudents();
                                }
                                break;
                            }
                        case 11:
                            {
                                writeToFileArrayStudents();
                                foreach (Student elem in students)
                                {
                                    if (!elem.isEmpty())
                                        elem.outputDataAboutStudents();
                                }
                                break;
                            }

                        default: Console.WriteLine( "Ошибка ввода\n" ); break;

                    }

                }
                catch ( FileNotFoundException )
                {

                    Console.WriteLine("Файла с таким именем не существует");
                    Console.WriteLine("Для продолжения нажмите Enter");
                    Console.ReadKey();

                }
                catch (Exception ex)
                {

                    Console.WriteLine( "Exception:{0}\nFile:{1}\nLocation:{2}\n{3}", ex.Message, ex.Source, ex.TargetSite );
                    Console.WriteLine( "Для продолжения нажмите Enter" );
                    Console.ReadKey();

                }

            }
        }
Example #3
0
        public static void findStudentsByYearBirth(Student[] arrStudents, int numbersStudents, int readYearBirth)
        {
            if (numbersStudents == 0) { throw new Exception("\nВ списке нет студентов"); }
            bool flag = false;

            Student stud = new Student();
            stud.Year_birth = readYearBirth;
            for (int i = 0; i < numbersStudents; i++)
            {
                if (arrStudents[i] == stud)
                {
                    arrStudents[i].outputDataAboutStudents();
                    flag = true;
                }
            }

            if (flag == false)
            {
                Console.WriteLine("В списке нет студентов с годом рождения:{0}", readYearBirth);
            }
        }