Реализовать очередь и сделать меню - C#
Формулировка задачи:
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication9
- {
- class Program
- {
- static void Main(string[] args)
- {
- Queue<int> S = new Queue<int>();
- Menu:
- Console.WriteLine("1. Ввести элемент");
- Console.WriteLine("2. Первый элемент очереди");
- Console.WriteLine("3. Удалить первый элемент очереди");
- Console.WriteLine("4. Количество элементов очереди");
- Console.WriteLine("5. Поиск элемента");
- Console.WriteLine("6. Вывод очереди");
- Console.WriteLine("7. Выход");
- Vibor:
- Console.Write("Выбор: ");
- int f = int.Parse(Console.ReadLine());
- switch (f)
- {
- case 1:
- ADD:
- {
- Console.WriteLine("Введите элемент");
- int o = Convert.ToInt32(Console.Read());
- S.Enqueue(o);
- }
- Console.WriteLine("1. Назад");
- Console.WriteLine("2. Добавить ещё");
- Vibor1:
- Console.Write("Выбор: ");
- int f1 = int.Parse(Console.ReadLine());
- switch (f1)
- {
- case 1:
- goto Menu;
- case 2:
- goto ADD;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor1;
- }
- case 2:
- First: Console.WriteLine(S.Peek());
- Vibor2:
- Console.Write("Выбор: ");
- int f2 = int.Parse(Console.ReadLine());
- switch (f2)
- {
- case 1:
- goto Menu;
- case 2:
- goto First;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor2;
- }
- case 3:
- DEL: Console.WriteLine(S.Dequeue());
- Vibor3:
- Console.Write("Выбор: ");
- int f3 = int.Parse(Console.ReadLine());
- switch (f3)
- {
- case 1:
- goto Menu;
- case 2:
- goto DEL;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor3;
- }
- case 4:
- Count: Console.WriteLine(S.Count());
- Vibor4:
- Console.Write("Выбор: ");
- int f4 = int.Parse(Console.ReadLine());
- switch (f4)
- {
- case 1:
- goto Menu;
- case 2:
- goto Count;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor4;
- }
- case 5:
- find: Console.WriteLine();
- int i = Convert.ToInt32(Console.ReadLine());
- if (S.Contains(i))
- Console.WriteLine("Элемент " + i + " есть в очереди");
- else
- Console.WriteLine("Элемент отсутствует");
- Vibor5:
- Console.Write("Выбор: ");
- int f5 = int.Parse(Console.ReadLine());
- switch (f5)
- {
- case 1:
- goto Menu;
- case 2:
- goto find;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor5;
- }
- case 6:
- print:
- {
- foreach (int t in S)
- Console.Write(t + " ");
- }
- Vibor6:
- Console.Write("Выбор: ");
- int f6 = int.Parse(Console.ReadLine());
- switch (f6)
- {
- case 1:
- goto Menu;
- case 2:
- goto print;
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor6;
- }
- default:
- Console.WriteLine("Не верный пункт, ведите снова");
- goto Vibor;
- }
- }
- }
- }
Решение задачи: «Реализовать очередь и сделать меню»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace LR5
- {
- class Program
- {
- static void Main(string[] args)
- {
- var queue = new Queue<int>();
- while (true)
- {
- Console.WriteLine("\n1. Ввести элемент");
- Console.WriteLine("2. Первый элемент очереди");
- Console.WriteLine("3. Удалить первый элемент очереди");
- Console.WriteLine("4. Количество элементов очереди");
- Console.WriteLine("5. Поиск элемента");
- Console.WriteLine("6. Вывод очереди");
- Console.WriteLine("0. Выход\n");
- Console.Write("Команда №");
- switch (Convert.ToChar((Console.ReadLine())))
- {
- case '1':
- Console.Write("Элемент: ");
- queue.Enqueue(int.Parse(Console.ReadLine()));
- break;
- case '2':
- if (queue.Count > 0)
- Console.WriteLine("Первый элемент: {0}", queue.Peek());
- else
- Console.WriteLine("Очередь пуста.");
- break;
- case '3':
- if (queue.Count > 0)
- Console.WriteLine("Удалён элемент: {0}", queue.Dequeue());
- else
- Console.WriteLine("Очередь пуста.");
- break;
- case '4':
- Console.WriteLine("Количество элементов в очереди: {0}", queue.Count);
- break;
- case '5':
- Console.Write("Введите элемент для поиска: ");
- int serch = int.Parse(Console.ReadLine());
- int count = 0;
- foreach (int x in queue)
- if (x == serch)
- count++;
- Console.WriteLine("Элемент {0} в очереди встречается {1} раз.", serch, count);
- break;
- case '6':
- Console.WriteLine("Элементы очереди: ");
- int number = 0;
- while (queue.Count != 0)
- {
- Console.WriteLine("{0}) {1}", ++number, queue.Dequeue());
- }
- Console.WriteLine("Очередь пуста.");
- break;
- case '0':
- Console.ReadKey();
- return;
- default:
- Console.WriteLine("Будьте внимательнее при вводе, попробуйте ещё раз.");
- break;
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д