日期:2014-05-18  浏览次数:20905 次

使用嵌套if结构,部分console.writeline内容显示不出来?
C# code
static void Main(string[] args)
        {
            int enter;
            int month;

            Console.WriteLine("请输入您属于哪种参观者:");
            Console.WriteLine("1-1.2米以下儿童");
            Console.WriteLine("2-大中小学生");
            Console.WriteLine("3-离休人员");
            Console.WriteLine("4-老年人");
            Console.WriteLine("5-其他");


            enter = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入参观月份");            
            month = int.Parse(Console.ReadLine());
            
            if (enter == 1 && enter == 3)
            {
                if (month >= 1 && month <= 12)
                {
                    Console.WriteLine("免票");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }
            else if (enter == 2)
            {
                if (month >= 1 && month <= 12)
                {
                    Console.WriteLine("门票20元");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }
            else if (enter == 4)
            {
                if ((month <= 3 && month >= 1) || (month <= 12 && month >= 11))
                {
                    Console.WriteLine("门票20元");
                }
                else if (month > 3 && month < 11)
                {
                    Console.WriteLine("门票30元");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }
            else if (enter == 5)
            {
                if ((month <= 3 && month >= 1) || (month <= 12 && month >= 11))
                {
                    Console.WriteLine("门票60元");
                }
                else if (month > 3 && month < 11)
                {
                    Console.WriteLine("门票40元");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }
            Console.ReadLine();


上面代码中,运行后,条件达成后这段代码里的console.writeline内容不显示,其他都可以,为什么呀?
C# code
if (enter == 1 && enter == 3)
            {
                if (month >= 1 && month <= 12)
                {
                    Console.WriteLine("免票");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }
            else if (enter == 2)
            {
                if (month >= 1 && month <= 12)
                {
                    Console.WriteLine("门票20元");
                }
                else
                {
                    Console.WriteLine("月份输入错误");
                }
            }


------解决方案--------------------
if (enter == 1 && enter == 3)
enter 需要同时等于1和3?这个无论如何也办不到啊
------解决方案--------------------
if (enter == 1 && enter == 3)
enter 需要同时等于1和3,这个肯定不能做到。后面当然不能显示了
------解决方案--------------------
没显示出来也就表明没有执行到Console.WriteLine();确认满足了你的条件?
enter == 1 && enter == 3表示enter既要等于1又要等于3,这似乎存在逻辑方面的问题

------解决方案--------------------