static void Main(string[] args) { System.Console.OutputEncoding = System.Text.Encoding.UTF8; var university = new University(); var done = false; while (!done) { Console.WriteLine("Введите необходимую клавишу " + "чтобы исполнить команду"); Console.WriteLine("0 - Выход"); Console.WriteLine("1 - Вывести информацию о всех студентах"); Console.WriteLine("2 - Вывести информацию о всех преподавателях"); Console.WriteLine("3 - Вывести информацию о всех людях"); Console.WriteLine("4 - Найти по фамилии"); Console.WriteLine("5 - Найти по среднему баллу"); Console.WriteLine("6 - Удалить пользователя"); Console.WriteLine("7 - Добавить пользователя"); Command input = (Command)Enum.Parse(typeof(Command), Console.ReadLine()); switch (input) { case Command.getStudent: if (university.Students.Any()) { foreach (var student in university.Students) { Console.WriteLine(student); } } else { Console.WriteLine("Список студентов пуст"); } break; case Command.getTeacher: if (university.Teachers.Any()) { foreach (var teacher in university.Teachers) { Console.WriteLine(teacher); } } else { Console.WriteLine("Список препадователей пуст"); } break; case Command.getAll: if (university.Persons.Any()) { foreach (var person in university.Persons) { Console.WriteLine(person); } } else { Console.WriteLine("Список людей пуст"); } break; case Command.findByLastName: Console.WriteLine("Введите фамилию: "); var lastName = Console.ReadLine(); foreach (var person in university.FindByLastName(lastName)) { Console.WriteLine(person.ToString()); } break; case Command.findByAvgPoint: Console.WriteLine("Введите средний балл: "); var avgPoint = float.Parse(Console.ReadLine()); foreach (var student in university.FindByAvgPoint(avgPoint)) { Console.WriteLine(student.ToString()); } break; case Command.deletePerson: Console.WriteLine("Введите фамилию: "); lastName = Console.ReadLine(); Console.WriteLine("Введите имя: "); var name = Console.ReadLine(); Console.WriteLine("Это студент? 1 - если да, 2 - если нет"); var isStudentInput = Console.ReadLine(); IOrderedEnumerable <IPerson> personList; if (isStudentInput == "1") { personList = from student in university.Students where student.Name == name && student.LastName == lastName orderby student.LastName select student; } else { personList = from teacher in university.Teachers where teacher.Name == name && teacher.LastName == lastName orderby teacher.LastName select teacher; } if (!personList.Any()) { Console.WriteLine("Такой человек отсутствует"); break; } else { foreach (var person in personList) { university.Remove(person); } } break; case Command.addPerson: Console.WriteLine("Это студент? 1 - если да, 2 - если нет"); isStudentInput = Console.ReadLine(); Console.WriteLine("Введите фамилию: "); lastName = Console.ReadLine(); Console.WriteLine("Введите имя: "); name = Console.ReadLine(); Console.WriteLine("Введите отчество: "); var patronymic = Console.ReadLine(); Console.WriteLine("Введите дату рождения: "); var date = DateTime.Parse(Console.ReadLine()); if (isStudentInput == "1") { Console.WriteLine("Введите курс: "); var course = int.Parse(Console.ReadLine()); Console.WriteLine("Введите группу: "); var group = int.Parse(Console.ReadLine()); Console.WriteLine("Введите средний балл: "); avgPoint = float.Parse(Console.ReadLine()); university.Add(new Student(lastName, name, patronymic, date, course, group, avgPoint)); } else { Console.WriteLine("Введите факультет: "); var faculty = Console.ReadLine(); Console.WriteLine("Введите опыт работ: "); var experience = int.Parse(Console.ReadLine()); Console.WriteLine("Введите должность: "); var position = (Positions)Enum.Parse(typeof(Positions), Console.ReadLine()); university.Add(new Teacher(lastName, name, patronymic, date, faculty, experience, position)); } break; default: done = true; break; } } }
static void Main(string[] args) { University university = new University(); #region Enter foreach (var student in File.ReadAllLines(studentPath).Select(student => Student.Parse(student))) { university.Add(student); } foreach (var teacher in File.ReadAllLines(teacherPath).Select(teacher => Teacher.Parse(teacher))) { university.Add(teacher); } #endregion bool isAnswered = false; bool isReverse = false; Console.WriteLine("Сортровать в порядке возрастания?"); while (!isAnswered) { switch (Console.ReadLine()) { case "да": isReverse = false; isAnswered = true; break; case "нет": isReverse = true; isAnswered = true; break; default: Console.WriteLine("Повторите"); break; } } university.Sort(isReverse); Console.WriteLine("<0> - ВЫХОД "); Console.WriteLine("<1> - Вывести студентов"); Console.WriteLine("<2> - Вывести преподавателей"); Console.WriteLine("<3> - Вывести всех"); Console.WriteLine("<4> - Вывести всех преподавателей, название кафедры которых содержит заданный текст"); Console.WriteLine("<5> - Поиск по фамилии"); Console.WriteLine("<6> - удалить человека"); Console.WriteLine("<7> - очистить консоль"); int a = Convert.ToInt32(Console.ReadLine()); while (a != 0) { switch (a) { case 1: { if (university.Students.Any()) { foreach (Student student in university.Students) { Console.WriteLine(student); } } else { Console.WriteLine("Список студентов пуст"); } break; } case 2: { if (university.Teachers.Any()) { foreach (Teacher teacher in university.Teachers) { Console.WriteLine(teacher); } } else { Console.WriteLine("Список преподавателей пуст"); } break; } case 3: { if (university.Persons.Any()) { foreach (IPerson pers in university.Persons) { Console.WriteLine(pers); } } else { Console.WriteLine("Список людей пуст"); } break; } case 4: { Console.WriteLine("Введите ключ"); string key = Console.ReadLine(); IEnumerable <Teacher> teachers = university.FindByDepartment(key); if (teachers.Any()) { foreach (var person in teachers) { Console.WriteLine(person); } } else { Console.WriteLine("Соответствий не найдено"); } break; } case 5: { Console.WriteLine("Введите фамилию для поиска"); string key = Console.ReadLine(); IEnumerable <IPerson> peoples = university.FindByLastName(key); if (peoples.Any()) { foreach (IPerson person in peoples) { Console.WriteLine(person); } } else { Console.WriteLine("В списке не существует людей с такой фамилией"); } break; } case 6: { if (university.Persons.Any()) { Console.WriteLine("Введите ФИО человека, которого вы хотите удалить из списка"); string namePerson = Console.ReadLine(); try { string[] key = namePerson.Split(new char[] { ' ' }); string lastName = key[0], name = key[1], patronomic = key[2]; IPerson itemToDelete = university.Persons.Where(x => x.Name == name).Where(y => y.Patronomic == patronomic).Where(z => z.Lastname == lastName).First(); university.Remove(itemToDelete); } catch { Console.WriteLine("Ошибка удаления. Человека с та-ким именем в списке не существует."); } } else { Console.WriteLine("Ошибка удаления. Список людей пуст."); } break; } case 7: { Console.Clear(); Console.WriteLine("<0> - ВЫХОД "); Console.WriteLine("<1> - Вывести студентов"); Console.WriteLine("<2> - Вывести преподавателей"); Console.WriteLine("<3> - Вывести всех"); Console.WriteLine("<4> - Вывести всех преподавателей, название кафедры которых содержит заданный текст"); Console.WriteLine("<5> - Поиск по фамилии"); Console.WriteLine("<6> - удалить человека"); Console.WriteLine("<7> - очистить консоль"); break; } default: { Console.WriteLine("Ошибка ввода"); break; } } a = Convert.ToInt32(Console.ReadLine()); } }
static void Main(string[] args) { ConsoleOutput("Добро пожаловать в наш СуперКрутойКонсольныйИнтерфейс™"); ConsoleOutput("Строим университет..."); University university = new University(); ConsoleOutput("Загружаем стандартный набор преподователей и студентов для развлечений"); // Считываем из teachers.txt строки // и преобразует их в экземпляры класса Teacher // и запихивает их в университет foreach (var teacher in File.ReadAllLines("teachers.txt") .Select(teacherString => Teacher.Parse(teacherString))) { university.Add(teacher); } // Считываем из students.txt строки // и преобразует их в экземпляры класса Student // и призывает их в университет foreach (var student in File.ReadAllLines("students.txt") .Select(studentString => Student.Parse(studentString))) { university.Add(student); } ConsoleOutput("Университет создан!"); ConsoleOutput("Введит <help> для просмотра команд"); bool isQuit = false; string[] input; while (!isQuit) { input = ConsoleInput().Split(); if (input.Length == 1 && input[0] == String.Empty) { continue; } switch (input[0]) { case "help": ConsoleOutput("add {student|teacher} [params] - добавить кого-нибудь"); ConsoleOutput("remove {student|teacher} [params] - удалить кого-нибудь"); ConsoleOutput("get {students|teachers|persons} [params] - вывести всех студентов/преподавателей/персон"); ConsoleOutput("find lastname [фамилия] - найти персону по фамилии"); ConsoleOutput("find department [название_факультета] - найти преподавателя по факультету"); ConsoleOutput("quit - выйти"); break; case "add": if (input.Length > 1) { switch (input[1]) { case "student": try { university.Add(Student.Parse(String.Join(" ", input.Skip(2)))); ConsoleOutput("Студент успешно добавлен в университет"); } catch { ConsoleOutput("Неверный формат ввода студента. Требуемый формат:"); ConsoleOutput("Имя Отчество Фамилия Курс Группа Средний_Балл Дата_Рождения"); } break; case "teacher": try { university.Add(Teacher.Parse(String.Join(" ", input.Skip(2)))); ConsoleOutput("Преподаватель успешно добавлен в университет"); } catch { ConsoleOutput("Неверный формат ввода преподавателя. Требуемый формат:"); ConsoleOutput("Имя Отчество Фамилия Факультет Должность Дата_Начала_Деятельности Дата_Рождения"); } break; default: ConsoleOutput("add {student|teacher|person} [params] - добавить кого-нибудь"); break; } } else { ConsoleOutput("add {student|teacher} [params] - добавить кого-нибудь"); } break; case "remove": if (input.Length > 1) { switch (input[1]) { case "student": try { bool isRemoved = false; var studentToRemove = Student.Parse(String.Join(" ", input.Skip(2))); foreach (var student in university.Students) { if (studentToRemove.Equals(student)) { isRemoved = true; university.Remove(student); break; } } if (isRemoved) { ConsoleOutput("Студент успешно отчислен из университета"); } else { ConsoleOutput("Такого студента в университете не существует"); } } catch { ConsoleOutput("Неверный формат ввода студента. Требуемый формат:"); ConsoleOutput("Имя Отчество Фамилия Курс Группа Средний_Балл Дата_Рождения"); } break; case "teacher": try { bool isRemoved = false; var teacherToRemove = Teacher.Parse(String.Join(" ", input.Skip(2))); foreach (var teacher in university.Teachers) { if (teacherToRemove.Equals(teacher)) { isRemoved = true; university.Remove(teacher); break; } } if (isRemoved) { ConsoleOutput("Преподаватель успешно уволен из университета"); } else { ConsoleOutput("Такого преподавателя в университете не существует"); } } catch { ConsoleOutput("Неверный формат ввода преподавателя. Требуемый формат:"); ConsoleOutput("Имя Отчество Фамилия Факультет Должность Дата_Начала_Деятельности Дата_Рождения"); } break; default: ConsoleOutput("remove {student|teacher} [params] - удалить кого-нибудь"); break; } } else { ConsoleOutput("remove {student|teacher} [params] - удалить кого-нибудь"); } break; case "get": if (input.Length > 1) { switch (input[1]) { case "persons": ConsoleOutput("Все персоны:"); foreach (var person in university.Persons) { ConsoleOutput(person.ToString()); } break; case "students": ConsoleOutput("Все студенты:"); foreach (var student in university.Students) { ConsoleOutput(student.ToString()); } break; case "teachers": ConsoleOutput("Все преподаватели:"); foreach (var teacher in university.Teachers) { ConsoleOutput(teacher.ToString()); } break; default: ConsoleOutput("get {students|teachers|persons} [params] - вывести всех студентов/преподавателей/персон"); break; } } else { ConsoleOutput("get {students|teachers|persons} [params] - вывести всех студентов/преподавателей/персон"); } break; case "find": if (input.Length > 1) { switch (input[1]) { case "lastname": if (input.Length > 2) { foreach (var person in university.FindByLastName(input[2])) { ConsoleOutput(person.ToString()); } } else { ConsoleOutput("find lastname [фамилия] - найти персону по фамилии"); } break; case "department": if (input.Length > 2) { foreach (var person in university.FindByDepartment(input[2])) { ConsoleOutput(person.ToString()); } } else { ConsoleOutput("find lastname [фамилия] - найти персону по фамилии"); } break; default: ConsoleOutput("find lastname [фамилия] - найти персону по фамилии"); ConsoleOutput("find department [название_факультета] - найти преподавателя по факультету"); break; } } else { ConsoleOutput("find lastname [фамилия] - найти персону по фамилии"); ConsoleOutput("find department [название_факультета] - найти преподавателя по факультету"); } break; case "quit": ConsoleOutput("Выходим..."); isQuit = true; break; default: ConsoleOutput("Не понимаю, введите <help>"); break; } } }