Witam! Piszę program, który ma na celu symulować wybraną strukturę danych.
static private void Main(string[] args)
{
Console.WriteLine("Wybierz, jaką strukturę danych mam zasymulować: ");
Console.WriteLine("1. Stos; ");
Console.WriteLine("2. Kolejka; ");
Console.WriteLine("3. Lista jednokierunkowa; ");
Console.WriteLine("4. Drzewo binarne; ");
int choice = int.Parse(Console.ReadLine());
switch (choice)
{
case 1:
{
Stack stos = new Stack();
Console.WriteLine("1. empty() zwraca true jeżeli stos jest pusty");
Console.WriteLine("2. pop() usuwa element znajdujący się na szczycie stosu");
Console.WriteLine("3. push() dodaje element na szczycie stosu");
Console.WriteLine("4. size() zwraca liczbę elementów stosu");
Console.WriteLine("5. top() zwraca referencję do elementu na szczycie stosu");
Console.WriteLine("6. Koniec programu.");
for(;;)
{
choice = int.Parse(Console.ReadLine());
switch (choice)
{
case 1:
{
stos.empty();
Console.WriteLine(stos.emptyOrFull);
Console.ReadLine();
break;
}
case 2:
{
stos.empty();
stos.pop(stos.emptyOrFull);
break;
}
case 3:
{
stos.size();
Console.WriteLine("Podaj łańcuch, jaki chcesz dodać na szczyt stosu: ");
string String = Console.ReadLine();
stos.push(stos.quantity, String);
break;
}
case 4:
{
break;
}
case 5:
{
break;
}
default:
{
Console.WriteLine("Nie ma takiej komendy!");
Console.ReadKey();
break;
}
}
if (choice == 6) Environment.Exit(0);
}
break;
}
case 2:
{
break;
}
case 3:
{
break;
}
case 4:
{
break;
}
default:
{
Console.WriteLine("Nie ma takiego wyboru!");
Console.ReadKey();
break;
}
}
}
Zawsze za trzecią iteracją pętli "for(;;)" program się zawiesza, kompilator zaznacza linijkę
choice = int.Parse(Console.ReadLine());
i wyrzuca błąd o treści:
"An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll."