Advertisement
TwinFrame

DosierPro

Dec 10th, 2020 (edited)
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Clight_35_DosiePro_Dictionary
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. Dictionary<string, string> workers = new Dictionary<string, string>();
  11. workers.Add("Жуков В.А.", "Директор");
  12. workers.Add("Воронина Г.П.", "Бухгалтер");
  13. workers.Add("Крымов Н.А.", "Начальник цеха");
  14. workers.Add("Мишин А.Ю.", "Работник цеха");
  15. workers.Add("Васюков Н.М.", "Работник цеха");
  16. workers.Add("Пятов К.А.", "Работник цеха");
  17. workers.Add("Ромм Э.Г.", "Администратор");
  18. workers.Add("Сидорова А.А.", "Секретарь");
  19. workers.Add("Мамова Н.И.", "Помощник Секретаря");
  20. workers.Add("Квизов Х.У.", "Охранник");
  21.  
  22. bool isExit = false;
  23.  
  24. while (!isExit)
  25. {
  26. Console.Clear();
  27. Console.CursorVisible = false;
  28. Console.WriteLine("Кадровый учёт.");
  29. PrintMenu(3);
  30.  
  31. switch (Console.ReadKey().Key)
  32. {
  33. case ConsoleKey.F1:
  34. Console.Clear();
  35. Console.CursorVisible = true;
  36. Console.Write("Введите Фамилию И.О. сотрудника: ");
  37. string inputFIO = Console.ReadLine();
  38. Console.Write("\nВведите должность сотрудника: ");
  39. string inputPosition = Console.ReadLine();
  40. Console.CursorVisible = false;
  41. workers.Add(inputFIO, inputPosition);
  42. PrintMessаge($"Сотрудник {inputFIO} успешно добавлен.");
  43. break;
  44. case ConsoleKey.F2:
  45. Console.Clear();
  46. PrintDosier(workers);
  47. Console.WriteLine("\n\nДля возврата нажмите любую клавишу.");
  48. Console.ReadKey();
  49. break;
  50. case ConsoleKey.F3:
  51. bool isInputNumber = true;
  52. int inputNumber = -1;
  53.  
  54. while (isInputNumber)
  55. {
  56. Console.Clear();
  57. PrintDosier(workers);
  58. Console.CursorVisible = true;
  59. Console.Write("\n\nВведите номер сотрудника: ");
  60. bool isNumber = Int32.TryParse(Console.ReadLine(), out int value);
  61. inputNumber = value;
  62. Console.CursorVisible = false;
  63.  
  64. if (isNumber)
  65. {
  66. isInputNumber = false;
  67. }
  68. else
  69. {
  70. Console.WriteLine("Не корректный ввод.");
  71. Console.ReadKey();
  72. }
  73. }
  74.  
  75. int stepNumber = 0;
  76. bool isRemove = false;
  77. string removeFIO = "";
  78.  
  79. foreach (var item in workers)
  80. {
  81. if (stepNumber == inputNumber - 1)
  82. {
  83. removeFIO = item.Key;
  84. workers.Remove(item.Key);
  85. isRemove = true;
  86. }
  87. stepNumber++;
  88. }
  89. if (isRemove)
  90. {
  91. PrintMessаge($"Удаление сотрудника {removeFIO} прошло успешно.");
  92. }
  93. else
  94. {
  95. PrintMessаge("Сотрудник под таким номером не найден.");
  96. }
  97. break;
  98. case ConsoleKey.F4:
  99. isExit = true;
  100. break;
  101. default:
  102. break;
  103. }
  104. }
  105.  
  106. }
  107. static void PrintDosier(Dictionary<string, string> dosier)
  108. {
  109. if (dosier.Count > 0)
  110. {
  111. int stepNumber = 1;
  112. foreach (var item in dosier)
  113. {
  114. if (stepNumber < 10)
  115. {
  116. Console.Write($"0{stepNumber}. {item.Key} - {item.Value}\n");
  117. }
  118. else
  119. {
  120. Console.Write($"{stepNumber}. {item.Key} - {item.Value}\n");
  121. }
  122. stepNumber++;
  123. }
  124. }
  125. else
  126. {
  127. Console.WriteLine("Нет ни одной записи.");
  128. }
  129. }
  130. static void PrintMenu(int numberRow)
  131. {
  132. Console.SetCursorPosition(0, numberRow);
  133. Console.WriteLine("F1 - Добавить досье");
  134. Console.WriteLine("F2 - Вывести всё досье");
  135. Console.WriteLine("F3 - Удалить досье");
  136. Console.WriteLine("F4 - Выход");
  137. Console.SetCursorPosition(0, 0);
  138. }
  139. static void PrintMessаge(string message)
  140. {
  141. Console.Clear();
  142. Console.WriteLine(message);
  143. Console.ReadKey();
  144. }
  145. }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement