using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace CSharp_Shell
{
public class Program
{
public static void Main()
{
Queue<string> queue = new Queue<string>();
//Add an element
queue.Enqueue("Mama");
queue.Enqueue("Papa");
queue.Enqueue("ate");
queue.Enqueue("Kuya");
queue.Enqueue("Bunso");
Console.WriteLine("=>Queue Menu<=");
Console.WriteLine("1. Add an element(Back)");
Console.WriteLine("2. Remove front element");
Console.WriteLine("3. Search an element");
Console.WriteLine("4. Display Queue Elements");
Console.WriteLine("5. Exit");
Console.WriteLine("\nEnter Your Choice: ");
string input = Console.ReadLine();
int queueInput = int.Parse(input); // Assuming variable add holds an integer value
switch (queueInput)
{
case 1:
Console.WriteLine("Enter an item to add to Queue:");
string aa = Console.ReadLine();
queue.Enqueue(aa);
break;
case 2:
// I don't think this can remove the input from the queue
// Queue is first in first out
//Console.WriteLine("Enter an item you want to remove to Queue");
//string bb = Console.ReadLine();
queue.Dequeue();
break;
case 3:
Console.WriteLine("Enter an Element that you want to search in Queue");
string cc = Console.ReadLine();
if(queue.Contains(cc))
Console.WriteLine(cc + ": Found on Queue!");
else
Console.WriteLine("No item on Queue!");
break;
case 4:
Console.WriteLine("Queue Elements!");
foreach (var q in queue)
{
Console.WriteLine(q);
}
Console.ReadLine(); // To retain the screen
break;
case 5:
Console.WriteLine("Exit!");
break;
}
}
}
}
added loop to see the stored queue and adjust removed queue
public static void Main()
{
Queue<string> queue = new Queue<string>();
//Add an element
queue.Enqueue("Mama");
queue.Enqueue("Papa");
queue.Enqueue("ate");
queue.Enqueue("Kuya");
queue.Enqueue("Bunso");
bool blnContinue = true;
while (blnContinue)
{
Console.WriteLine("=>Queue Menu<=");
Console.WriteLine("1. Add an element(Back)");
Console.WriteLine("2. Remove front element");
Console.WriteLine("3. Search an element");
Console.WriteLine("4. Display Queue Elements");
Console.WriteLine("5. Exit");
Console.WriteLine("\nEnter Your Choice: ");
string input = Console.ReadLine();
int queueInput = int.Parse(input); // Assuming variable add holds an integer value
switch (queueInput)
{
case 1:
Console.WriteLine("Enter an item to add to Queue:");
string aa = Console.ReadLine();
queue.Enqueue(aa);
break;
case 2:
Console.WriteLine("Enter an item you want to remove to Queue");
string bb = Console.ReadLine();
Queue<string> tmpqueue = new Queue<string>();
foreach (var q in queue)
{
if (q.ToLower() != bb.ToLower())
{
tmpqueue.Enqueue(q);
}
else
{
Console.WriteLine("Removed {0} from then list.",q);
}
}
queue.Dequeue();
queue = tmpqueue;
break;
case 3:
Console.WriteLine("Enter an Element that you want to search in Queue");
string cc = Console.ReadLine();
if (queue.Contains(cc))
Console.WriteLine(cc + ": Found on Queue!");
else
Console.WriteLine("No item on Queue!");
break;
case 4:
Console.WriteLine("Queue Elements!");
foreach (var q in queue)
{
Console.WriteLine(q);
}
break;
case 5:
Console.WriteLine("Exit!");
blnContinue = false;
break;
}
}
}