Реализовать очередь и сделать меню - 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;
}
}
}
}
}