Реализовать очередь и сделать меню - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication9
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. Queue<int> S = new Queue<int>();
  12. Menu:
  13. Console.WriteLine("1. Ввести элемент");
  14. Console.WriteLine("2. Первый элемент очереди");
  15. Console.WriteLine("3. Удалить первый элемент очереди");
  16. Console.WriteLine("4. Количество элементов очереди");
  17. Console.WriteLine("5. Поиск элемента");
  18. Console.WriteLine("6. Вывод очереди");
  19. Console.WriteLine("7. Выход");
  20. Vibor:
  21. Console.Write("Выбор: ");
  22. int f = int.Parse(Console.ReadLine());
  23. switch (f)
  24. {
  25. case 1:
  26. ADD:
  27. {
  28. Console.WriteLine("Введите элемент");
  29. int o = Convert.ToInt32(Console.Read());
  30. S.Enqueue(o);
  31. }
  32. Console.WriteLine("1. Назад");
  33. Console.WriteLine("2. Добавить ещё");
  34. Vibor1:
  35. Console.Write("Выбор: ");
  36. int f1 = int.Parse(Console.ReadLine());
  37. switch (f1)
  38. {
  39. case 1:
  40. goto Menu;
  41. case 2:
  42. goto ADD;
  43. default:
  44. Console.WriteLine("Не верный пункт, ведите снова");
  45. goto Vibor1;
  46. }
  47. case 2:
  48. First: Console.WriteLine(S.Peek());
  49. Vibor2:
  50. Console.Write("Выбор: ");
  51. int f2 = int.Parse(Console.ReadLine());
  52. switch (f2)
  53. {
  54. case 1:
  55. goto Menu;
  56. case 2:
  57. goto First;
  58. default:
  59. Console.WriteLine("Не верный пункт, ведите снова");
  60. goto Vibor2;
  61. }
  62. case 3:
  63. DEL: Console.WriteLine(S.Dequeue());
  64. Vibor3:
  65. Console.Write("Выбор: ");
  66. int f3 = int.Parse(Console.ReadLine());
  67. switch (f3)
  68. {
  69. case 1:
  70. goto Menu;
  71. case 2:
  72. goto DEL;
  73. default:
  74. Console.WriteLine("Не верный пункт, ведите снова");
  75. goto Vibor3;
  76. }
  77. case 4:
  78. Count: Console.WriteLine(S.Count());
  79. Vibor4:
  80. Console.Write("Выбор: ");
  81. int f4 = int.Parse(Console.ReadLine());
  82. switch (f4)
  83. {
  84. case 1:
  85. goto Menu;
  86. case 2:
  87. goto Count;
  88. default:
  89. Console.WriteLine("Не верный пункт, ведите снова");
  90. goto Vibor4;
  91. }
  92. case 5:
  93. find: Console.WriteLine();
  94. int i = Convert.ToInt32(Console.ReadLine());
  95. if (S.Contains(i))
  96. Console.WriteLine("Элемент " + i + " есть в очереди");
  97. else
  98. Console.WriteLine("Элемент отсутствует");
  99. Vibor5:
  100. Console.Write("Выбор: ");
  101. int f5 = int.Parse(Console.ReadLine());
  102. switch (f5)
  103. {
  104. case 1:
  105. goto Menu;
  106. case 2:
  107. goto find;
  108. default:
  109. Console.WriteLine("Не верный пункт, ведите снова");
  110. goto Vibor5;
  111. }
  112. case 6:
  113. print:
  114. {
  115. foreach (int t in S)
  116. Console.Write(t + " ");
  117. }
  118. Vibor6:
  119. Console.Write("Выбор: ");
  120. int f6 = int.Parse(Console.ReadLine());
  121. switch (f6)
  122. {
  123. case 1:
  124. goto Menu;
  125. case 2:
  126. goto print;
  127. default:
  128. Console.WriteLine("Не верный пункт, ведите снова");
  129. goto Vibor6;
  130. }
  131. default:
  132. Console.WriteLine("Не верный пункт, ведите снова");
  133. goto Vibor;
  134. }
  135. }
  136. }
  137. }
Вот мой код. В чем тут ошибка???

Решение задачи: «Реализовать очередь и сделать меню»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace LR5
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             var queue = new Queue<int>();
  13.             while (true)
  14.             {
  15.                 Console.WriteLine("\n1. Ввести элемент");
  16.                 Console.WriteLine("2. Первый элемент очереди");
  17.                 Console.WriteLine("3. Удалить первый элемент очереди");
  18.                 Console.WriteLine("4. Количество элементов очереди");
  19.                 Console.WriteLine("5. Поиск элемента");
  20.                 Console.WriteLine("6. Вывод очереди");
  21.                 Console.WriteLine("0. Выход\n");
  22.  
  23.                 Console.Write("Команда №");
  24.                 switch (Convert.ToChar((Console.ReadLine())))
  25.                 {
  26.                     case '1':
  27.                         Console.Write("Элемент: ");
  28.                         queue.Enqueue(int.Parse(Console.ReadLine()));
  29.                         break;
  30.                     case '2':
  31.                         if (queue.Count > 0)
  32.                             Console.WriteLine("Первый элемент: {0}", queue.Peek());
  33.                         else
  34.                             Console.WriteLine("Очередь пуста.");
  35.                         break;
  36.                     case '3':
  37.                         if (queue.Count > 0)
  38.                             Console.WriteLine("Удалён элемент: {0}", queue.Dequeue());
  39.                         else
  40.                             Console.WriteLine("Очередь пуста.");
  41.                         break;
  42.                     case '4':
  43.                         Console.WriteLine("Количество элементов в очереди: {0}", queue.Count);
  44.                         break;
  45.                     case '5':
  46.                         Console.Write("Введите элемент для поиска: ");
  47.                         int serch = int.Parse(Console.ReadLine());
  48.  
  49.                         int count = 0;
  50.                         foreach (int x in queue)
  51.                             if (x == serch)
  52.                                 count++;
  53.                         Console.WriteLine("Элемент {0} в очереди встречается {1} раз.", serch, count);
  54.                         break;
  55.                     case '6':
  56.                         Console.WriteLine("Элементы очереди: ");
  57.                         int number = 0;
  58.                         while (queue.Count != 0)
  59.                         {
  60.                             Console.WriteLine("{0}) {1}", ++number, queue.Dequeue());
  61.                         }
  62.                         Console.WriteLine("Очередь пуста.");
  63.                         break;
  64.                     case '0':
  65.                         Console.ReadKey();
  66.                         return;
  67.                     default:
  68.                         Console.WriteLine("Будьте внимательнее при вводе, попробуйте ещё раз.");
  69.                         break;
  70.                 }
  71.             }
  72.  
  73.         }
  74.     }
  75. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы