Exercise9.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using static Library9Delegates.NewSimbol;
  3. namespace Library9Delegates
  4. {
  5. public class Exercise9
  6. {
  7. public void Call()
  8. {
  9. int n, end;
  10. do
  11. {
  12. Console.WriteLine("\tВыберите задание:");
  13. Console.WriteLine("-----------------------------------------------------------------------------------------");
  14. Console.WriteLine("1. Запись символа с помощью делегата");
  15. Console.WriteLine("2. Сумма корней квадратного уравнения");
  16. Console.WriteLine("3. Проверка числа на симметричность (одинаково читается слева направо и справа налево)");
  17. Console.WriteLine("4. Вхождение символа в строку (индекс первого и количество всех вхождений) ");
  18. Console.WriteLine("-----------------------------------------------------------------------------------------");
  19. n = Convert.ToInt32(Console.ReadLine());
  20. switch (n)
  21. {
  22. case 1:
  23. NewSimbol obj = new NewSimbol();
  24. СharDelegate charDelegate = new СharDelegate(obj.SetChar); // Создание экземпляра делегата
  25. Console.WriteLine("Введите букву:");
  26. char c = Convert.ToChar(Console.ReadLine());
  27. charDelegate(c); // Вызов экземпляра делегата
  28. Console.WriteLine($"Метод записал букву: {obj.simbol}");
  29. break;
  30. case 2:
  31. QuadraticEquation obj2 = new QuadraticEquation();
  32. Console.WriteLine($"Сумма корней квадратного уравнения = {obj2.getSumRoots(1, -3, 2)}"); //3
  33. Console.WriteLine($"Сумма корней квадратного уравнения = {obj2.getSumRootsLambda(1, -3, 2)}");
  34. break;
  35. case 3:
  36. SymmetricalNumber obj3 = new SymmetricalNumber();
  37. Console.WriteLine("Введите число для проверки на симметрию:");
  38. int num = Convert.ToInt32(Console.ReadLine());
  39. string answer = obj3.isSymmetric(num) == true ? "симметрично" : "не симметрично";
  40. Console.WriteLine($"Число {num} - {answer}");
  41. break;
  42. case 4:
  43. SimbolInStr getEntry = StringOperations.GetNumberSimbolInStr; // Создание экземпляра делегата
  44. Console.WriteLine("Введите символ:");
  45. char simbol = Convert.ToChar(Console.ReadLine());
  46. Console.WriteLine("Введите строку:");
  47. string str = Console.ReadLine();
  48. Console.WriteLine($"Количество вхождений '{simbol}' в строке: {getEntry(simbol, str)}");
  49. getEntry = StringOperations.GetIndexSimbolInStr;
  50. Console.WriteLine($"Индекс первого вхождения '{simbol}' в строке: {getEntry(simbol, str)}");
  51. break;
  52. default: Console.WriteLine("Такого задания нет"); break;
  53. }
  54. Console.WriteLine("\n1 - Выбрать другое задание, 0 - Назад.");
  55. end = Convert.ToInt32(Console.ReadLine());
  56. } while (end > 0);
  57. }
  58. }
  59. }