using System;
namespace Stolovaya
{
class Program
{
static string[] names = { "Борщ", "Пельмени", "Салат" };
static int[] quantity = { 5, 0, 10 };
static int[] price = { 80, 120, 60 };
static void Main()
{
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.WriteLine("МЕНЮ");
for (int i = 0; i < names.Length; i++)
{
string status = quantity[i] == 0 ? "нет в наличии" : quantity[i] + " шт";
Console.WriteLine("ID: " + i + " | " + names[i] + " | " + price[i] + " rub | " + status);
}
int id = 0;
int amount = 0;
try
{
Console.Write("ID блюда: ");
string buf = Console.ReadLine();
id = int.Parse(buf);
}
catch (FormatException e)
{
Console.WriteLine("FormatException");
Console.WriteLine("Message: " + e.Message);
Console.WriteLine("Source: " + e.Source);
Console.WriteLine("TargetSite: " + e.TargetSite);
Console.WriteLine("\nEnter для выхода...");
Console.ReadLine();
return;
}
try
{
string dishName = names[id];
int available = quantity[id];
int dishPrice = price[id];
if (available == 0)
{
Console.WriteLine("\nБлюдо «" + dishName + "» закончилось");
Console.ReadLine();
return;
}
Console.Write("Сколько порций? ");
amount = int.Parse(Console.ReadLine());
if (amount <= 0)
{
Console.WriteLine("\nбольше 0");
Console.ReadLine();
return;
}
if (amount > available)
{
Console.WriteLine("\nВ наличии только " + available + " шт");
Console.ReadLine();
return;
}
quantity[id] = available - amount;
int total = amount * dishPrice;
Console.WriteLine("\nЗаказ принят: " + dishName + " x" + amount + " = " + total + " rub");
Console.WriteLine("Осталось: " + quantity[id] + " шт");
}
catch (FormatException e)
{
Console.WriteLine("FormatException");
Console.WriteLine("Message: " + e.Message);
Console.WriteLine("Source: " + e.Source);
Console.WriteLine("TargetSite: " + e.TargetSite);
}
catch (IndexOutOfRangeException e)
{
Console.WriteLine("IndexOutOfRangeException");
Console.WriteLine("Message: " + e.Message);
Console.WriteLine("Source: " + e.Source);
Console.WriteLine("TargetSite: " + e.TargetSite);
Console.WriteLine("StackTrace: " + e.StackTrace);
}
Console.WriteLine("\nEnter для выхода...");
Console.ReadLine();
}
}
}