عدم رزور مجدد کتاب در c# - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

عدم رزور مجدد کتاب در c#

0 امتیاز

کتاب خونه  باحلقه while ساختم.چیکار کنم که اگر یک کتاب توسط  یوزر  رزرو شد یوزر دیگه ای نتونه دوباره رزرو کنه؟

{
    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());
    switch (number)
    {
        case 1:
            Console.WriteLine("the story book wase reserved for you");
            break;
        case 2:
            Console.WriteLine("the sports book wase reserved for you");
            break;
        case 3:
            Console.WriteLine("the novel book wase reserved for you");
            break;
        case 4:
            Console.WriteLine("the text book wase reserved for you");
            break;
        case 5:
            Console.WriteLine("the text book wase reserved for you");
            break;
        default:
            Console.WriteLine("invallid entery!!!");
            break;
    }

}
Console.ReadKey();

 

سوال شده شهریور 3, 1402 بوسیله ی HOSEIN  
ویرایش شده شهریور 3, 1402 بوسیله ی haniye sarbazi

1 پاسخ

0 امتیاز
 
بهترین پاسخ

برای اینکه از رزرو مجدد یک کتاب توسط یوزر دیگر جلوگیری کنید، می‌توانید یک آرایه از متغیرهای بولی (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;
        }
    }
}

 

 

پاسخ داده شده شهریور 3, 1402  بوسیله ی haniye sarbazi (امتیاز 983)   2 6 15
...