برای اینکه از رزرو مجدد یک کتاب توسط یوزر دیگر جلوگیری کنید، میتوانید یک آرایه از متغیرهای بولی (Boolean) ایجاد کنید که نشان دهنده وضعیت رزرو هر کتاب باشد. به عنوان مثال، میتوانید یک آرایه به نام
reserved
با پنج عنصر (به تعداد کتابها) ایجاد کنید و مقدار همه عناصر آن را در ابتدا برابر
false
قرار دهید. سپس، در هنگام رزرو یک کتاب، مقدار عنصر متناظر آن کتاب در آرایه
reserved
را برابر
true
قرار دهید. در نهایت، قبل از اینکه به یوزر اجازه رزرو یک کتاب را بدهید، باید بررسی کنید که آیا مقدار عنصر متناظر آن کتاب در آرایه
reserved
برابر
true
است یا خیر. اگر برابر
true
باشد، به این معنی است که کتاب قبلاً رزرو شده است و نباید دوباره رزرو شود.
برای پیادهسازی این راهحل، میتوانید کد خود را به شکل زیر تغییر دهید:
bool[] reserved = new bool[5];
while (true)
{
Console.WriteLine("hi dear freind,wellcome to the onlin book store");
Console.WriteLine("to reserve a book,enter the number of that book");
Console.WriteLine("1)story book 2)sports book 3)novel book 4)text book 5)scientific book");
int number = int.Parse(Console.ReadLine());
if (reserved[number - 1])
{
Console.WriteLine("Sorry, this book is already reserved.");
}
else
{
switch (number)
{
case 1:
Console.WriteLine("the story book wase reserved for you");
reserved[number - 1] = true;
break;
case 2:
Console.WriteLine("the sports book wase reserved for you");
reserved[number - 1] = true;
break;
case 3:
Console.WriteLine("the novel book wase reserved for you");
reserved[number - 1] = true;
break;
case 4:
Console.WriteLine("the text book wase reserved for you");
reserved[number - 1] = true;
break;
case 5:
Console.WriteLine("the scientific book wase reserved for you");
reserved[number - 1] = true;
break;
default:
Console.WriteLine("invallid entery!!!");
break;
}
}
}