Отсортировать по алфавиту, защитить ввод от символов - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д