Отсортировать по алфавиту, защитить ввод от символов - C#
Формулировка задачи:
Требуется: Описать структуру с именем Worker, содержащую следующие поля:
• фамилия и инициалы работника;
• название занимаемой должности;
• год поступления на работу.
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из пяти элементов типа Worker (записи должны
быть упорядочены по алфавиту);
• если значение года введено не в соответствующем формате выдает исключение.
• вывод на экран фамилии работника, стаж работы которого превышает введенное значение.
Как в моей шляпе отсортировать по алфавиту и защитить год от введения символов и null or Empty?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ConsoleApplication2 { struct Worker { //поля private string surName; private string initials; private string nameOfThePositionHeld; private int yearOfEmployment; public string SurName { get { return surName; } set { surName = value; } } public string Initials { get { return initials; } set { initials = value; } } public string NameOfThePositionHeld { get { return nameOfThePositionHeld; } set { nameOfThePositionHeld = value; } } public int YearOfEmployment { get { return yearOfEmployment; } set { if (value <= DateTime.Now.Year && DateTime.Now.Year - value <= 50) { yearOfEmployment = value; } else { Console.WriteLine("Неверно задан год! Повторите"); YearOfEmployment = Convert.ToInt32(Console.ReadLine()); } } } class Program { static void Main() { Worker[] worker = new Worker[5]; for (int i = 0; i < worker.Length; i++) { Console.WriteLine("Введите Фамилию: "); worker[i].SurName = Console.ReadLine(); Console.WriteLine("Введите инициалы: "); worker[i].Initials = Console.ReadLine(); Console.WriteLine("Введите должность: "); worker[i].NameOfThePositionHeld = Console.ReadLine(); Console.WriteLine("Год поступления на работу: "); string x = Console.ReadLine(); try { worker[i].YearOfEmployment = Convert.ToInt32(x); } catch (Exception e) { Console.WriteLine("Введите год. Пример: 1991"); Console.WriteLine(e.Message); // worker[i].YearOfEmployment = DateTime.Now.Year; } Console.WriteLine(new string('-', 50)); Console.Clear(); } Console.WriteLine(new string('-', 50)); Console.ReadKey(); } } } }
Решение задачи: «Отсортировать по алфавиту, защитить ввод от символов»
textual
Листинг программы
Console.WriteLine("{0} {1} {2} {3}", worker.SurName, worker.Initials, worker.NameOfThePositionHeld, worker.yearOfEmployment);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д