کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

استفاده از شرط درون حلقه (condition and loop)

گاهی لازم است تا محتوی کدی که در بدنه اجرای یک شرط یا حلقه قرار داده ایم دوباره شرط یا حلقه دیگری نیز بیاید که در این حالت حلقه و یا شرط های تو در تو در سی شارپ ساخته ایم. امکان استفاده از این ساختار تا هر اندازه دلخواه وجود دارد ولی به دلیل کم شدن خوانایی و کارایی برنامه بیشتر از سه مرحله توصیه نمی شود.

گاهی لازم است تا محتوی کدی که در بدنه اجرای یک شرط قرار داده ایم دوباره شرط دیگری نیز بیاید که در این حالت شرط های تو در تو در سی شارپ ساخته ایم. امکان استفاده از شرط های تو در تو تا هر اندازه دلخواه وجود دارد ولی به دلیل کم شدن خوانایی و کارایی برنامه بیشتر از سه مرحله توصیه نمی شود. در اینجا مثالی از این حالت را با یکدیگر بررسی می کنیم

  1. فایل Management.csc را به ترتیب زیر اصلاح کنید
                
using System;
public class Management
‎{
‎    private Customer CreateNewAccount()
‎    {
‎       ... No Change
‎        return client;
‎    }
‎    public double GetMoney()
‎    {
‎        double amount = 0;
‎        Console.Write("Amount: ");
‎        amount = double.Parse(Console.ReadLine());
‎        
return amount;
‎    }
‎    private void ShowAccountInformation(Customer cust)
‎    {
‎        Console.WriteLine("===========================================");
‎        Console.WriteLine("==-= National Bank =-======================");
‎        Console.WriteLine("Customer Account Information");
‎        Console.WriteLine("-------------------------------------------");
‎        Console.WriteLine("Account #:    {0}"‎،‎ cust.AccountNumber);
‎        Console.WriteLine("Account Type: {0}"‎،‎ cust.Type);
‎        Console.WriteLine("Full Name:    {0}"‎،‎ cust.FullName);
‎        Console.WriteLine("PIN #:        {0}"‎،‎ cust.PIN);
‎        Console.WriteLine("Balance:      {0:F}"‎،‎ cust.Balance);
‎        Console.WriteLine("===========================================");
‎    }
‎    public static int Main()
‎    {
‎        double amount = 0;
‎        byte nextAction = 0;
‎        Customer accountHolder = null;
‎        Management registration = new Management();
‎        
Console.Title = "National Bank";
‎        accountHolder = registration.CreateNewAccount();
‎        Console.WriteLine("Enter the customer's initial deposit");
‎        accountHolder.Balance = registration.GetMoney();
‎        Console.Clear();
‎        registration.ShowAccountInformation(accountHolder);
‎        
do
‎        {
‎            Console.WriteLine("What do you want to do now?");
‎            Console.WriteLine("1 - Check account balance");
‎            Console.WriteLine("2 - Make a deposit");
‎            Console.WriteLine("3 - Withdraw money");
‎            Console.WriteLine("4 - Transfer money from one account to ‎another");
‎            Console.Write("Enter your choice: ");
‎            nextAction = byte.Parse(Console.ReadLine());
‎            Console.Clear();
‎            
switch (nextAction)
‎            {
‎                case 1:
‎                    Console.Clear();
‎                    registration.ShowAccountInformation(accountHolder);
‎                    Console.Write("Press Enter for next operation");
‎                    Console.ReadKey();
‎                    break;
‎                case 2:
‎                    Console.Write("Enter Deposit ");
‎                    amount = registration.GetMoney();
‎                    accountHolder.Balance = accountHolder.Balance + amount;
‎                    Console.Clear();
‎                    registration.ShowAccountInformation(accountHolder);
‎                    break;
‎                 case 3:
‎                    Console.Write("Enter Withdrawal ");
‎                    amount = registration.GetMoney();
‎ ‎
‎                    if (amount > accountHolder.Balance)
‎                    {
‎                        Console.WriteLine("You are not allowed to withdraw more money than your account ‎has.");
‎                        Console.ReadKey();
‎                    }
    else
        accountHolder.Balance = accountHolder.Balance - ‎amount;
    
    Console.Clear();
‎                    registration.ShowAccountInformation(accountHolder);
‎                    break;
‎                case 4:
‎                    Console.WriteLine(
‎                    "Operation not available: You have only one account with ‎us");
‎                    break;
‎            }
‎            if ((nextAction < 1) || (nextAction > 4))
‎                Console.WriteLine("Invalid Action: Please enter a value between 1 and 4");
‎        } while ((nextAction >= 1) && (nextAction <= 4));
‎        Console.ReadKey();
‎        return 0;
‎    }
‎}
  1. با زدن کلید F5 برنامه را اجرا کنید.
  2. اطلاعات لازم را به صورت زیر وارد کنید.
Account #
202-410443-240
Account Type:
1
Customer Name:
Paul Martin Eloundou
PIN:
8402
Initial Deposit:
750
  1. کلید Enter را بزنید.
===========================================‎
‎==-= National Bank =-======================‎
Customer Account Information
‎-------------------------------------------‎
Account #:    202-410443-240‎
Account Type: Checking
Full Name:    Paul Martin Eloundou
PIN #:        8402‎
Balance:      750.00‎
‎===========================================‎
What do you want to do now?‎
‎1 - Check account balance
‎2 - Make a deposit
‎3 - Withdraw money
‎4 - Transfer money from one account to another
Enter your choice:
  1. 3 را تایپ کنید تا از حساب پول برداشته شود، سپس کلید Enter را فشار دهید.
  2. 425.85 را به عنوان مبلغ برداشتی تایپ کنید و Enter را بزنید.
  3. در مرحله ی بعد عدد 2 را وارد کرده و بعد کلید Enter را بزنید.
  4. مبلغ 22.84 را تایپ کنید و Enter را بزنید.
===========================================‎
‎==-= National Bank =-======================‎
Customer Account Information
‎-------------------------------------------‎
Account #:    202-410443-240‎
Account Type: Checking
Full Name:    Paul Martin Eloundou
PIN #:        8402‎
Balance:      346.99‎
‎===========================================‎
What do you want to do now?‎
‎1 - Check account balance
‎2 - Make a deposit
‎3 - Withdraw money
‎4 - Transfer money from one account to another
Enter your choice:
  1. حال 3 را وارد کنید و Enter را بزنید.
  2. مقدار مبلغ برداشتی را 500 وارد کنید و Enter را بزنید.
Enter Withdrawal Amount: 500
You are not allowed to withdraw more money than your account has.
  1. Enter را بزنید.
===========================================‎
‎==-= National Bank =-======================‎
Customer Account Information
‎-------------------------------------------‎
Account #:    202-410443-240‎
Account Type: Checking
Full Name:    Paul Martin Eloundou
PIN #:        8402‎
Balance:      346.99‎
‎===========================================‎
What do you want to do now?‎
‎1 - Check account balance
‎2 - Make a deposit
‎3 - Withdraw money
‎4 - Transfer money from one account to another
Enter your choice:
  1. 0 را تایپ کنید
  2. با زدن Enter از DOS خارج گشته و به محیط برنامه نویسی باز گردید.
1404/01/20 4675 2648
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...