1. 程式人生 > >劉海燕 廊坊師範學院資訊科技提高班 第八期

劉海燕 廊坊師範學院資訊科技提高班 第八期

精典示例——if語句巢狀

精典示例1——提示使用者名稱名和密碼是否正確

    例1:提示使用者輸入使用者名稱,然後再提示輸入密碼。如果使用者名稱是"admin"並且密碼是“888888”則提示正確,否則提示錯誤,如果使用者名稱不是admin還提示使用者名稱不存在。

    寫法1:

namespace 布林表示式
{
    class Program
    {
        static void Main(string[] args)
        {   
            //提示使用者輸入使用者名稱,然後再提示輸入密碼,如果使用者名稱是"admin"並且密碼是“888888”則提示正確,否則提示錯誤。如果使用者名稱不是admin還提示使用者名稱不存在。
            Console.WriteLine("請輸入使用者名稱:");
            string userName = Console.ReadLine();

            Console.WriteLine("請輸入密碼:");
            string passWord = Console.ReadLine();
            if (userName == "admin" && passWord == "888888")
            {
                Console.WriteLine("使用者名稱和密碼輸入正確!");
            }   
            else
            {
                Console.WriteLine("使用者名稱、密碼錯誤!");
                if (userName != "admin")
                {
                    Console.WriteLine("使用者名稱不存在!");
                }
            }
            Console.ReadKey();
        }
    }
}

    寫法2:

namespace 布林表示式
{
    class Program
    {
        static void Main(string[] args)
        {   
            //提示使用者輸入使用者名稱,然後再提示輸入密碼,如果使用者名稱是"admin"並且密碼是“888888”則提示正確,否則提示錯誤。如果使用者名稱不是admin還提示使用者名稱不存在。
            Console.WriteLine("請輸入使用者名稱:");
            string userName = Console.ReadLine();

            Console.WriteLine("請輸入密碼:");
            string passWord = Console.ReadLine();
            if (userName == "admin" && passWord == "888888")
            {
                Console.WriteLine("使用者名稱和密碼輸入正確!");
            }   
            else
            {
                if (userName != "admin"&&passWord=="888888")
                {
                    Console.WriteLine("此使用者名稱不存在!");
                }
                else
                {
                    if (userName=="admin"&&passWord != "888888")
                    {
                        Console.WriteLine("密碼不正確!");
                    }
                    else
                    {
                        Console.WriteLine("使用者名稱和密碼都不正確!");
                    }
                }
            }
            Console.ReadKey();
        }
    }
}
問題分析

使用者名稱(admin)

密碼(888888)

提示資訊

 √

使用者名稱和密碼輸入正確!

×

密碼不正確!

×

此使用者名稱不存在!

×

×

使用者名稱和密碼都不正確!

精典示例2——提示使用者名稱輸入年齡,判斷是否允許檢視

    練習2:提示使用者輸入年齡.如果大於等於18.則告知使用者可以檢視.如果小於10歲,則告知不允許檢視.如果大於等於10歲.則提示使用者是否繼續檢視 (yes、no)·如果輸入 的是yes則提示使用者可以檢視,否則提示不可以檢視。(測試邊界條件,-1,88888888888888888888888,aaaa。微軟如狼似虎的Tester)

問題分析

條件

   提示資訊

                   age>=18

                  可以檢視                

                   age<10

                 不允許檢視            

                             yes

       age>=10        no

                        輸入其它

  繼續檢視

      不繼續檢視

   輸入錯誤

程式碼示例:

namespace 布林表示式
{
    class Program
    {
        static void Main(string[] args)
        {   
            //提示使用者輸入年齡.如果大於等於18.則告知使用者可以檢視.如果小於10歲,則告知不允許檢視.如果大於等於10歲.則提示使用者是否繼續檢視 (yes、no)·如果輸入 的是yes則提示使用者可以檢視,否則提示不可以檢視。
            Console.WriteLine("請輸入年齡:");
            string strAge = Console.ReadLine();
            int age = Convert.ToInt32(strAge);

            if (age>=18)
            {
                Console.WriteLine("可以檢視");
            }
            else if (age < 10)
            {
                Console.WriteLine("不允許檢視");
            }
            else    //前兩個條件已經將其他情況排除,所以不用再寫else if(age>=10)
            {
                Console.WriteLine("是否繼續檢視(yes、no)?");
            
                string isContinue=Console.ReadLine();
                if (isContinue=="yes")
                {
                    Console.WriteLine("繼續檢視");
                }
                else if (isContinue == "no")
                {
                    Console.WriteLine("不繼續檢視");
                }
                else
                {
                    Console.WriteLine("輸入錯誤!");
                }
            }
            Console.ReadKey();
        }
    }
}

總結,上面的兩個例子主要練習的是:

if語句的巢狀

變數名命名要用有意義的變數名(如例中的變數名strAge,isContinue)。

測試程式,每種分支都要測試一遍。

寫註釋(關鍵地方),這樣程式碼看起來很清淅,易於別人讀懂。