精典示例——if语句嵌套

精典示例——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)。

测试程序,每种分支都要测试一遍。

写注释(关键地方),这样代码看起来很清淅,易于别人读懂。

 

 


 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值