2015年3月19日 星期四

[2015][Quiz][Week04] Quiz3 -40173008H

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
             string year, month, day, select;
            int y, m, d, sel;
            while (true)
            {
                Console.WriteLine("請輸入題號1~4來執行以下題目");
                Console.WriteLine("1. 輸入一個星球紀元年分,判斷其為閏年或平年");
                Console.WriteLine("2. 列出該星球前100個閏年的年份");
                Console.WriteLine("3. 輸入一個年份及月份,印出該月的天數");
                Console.WriteLine("4. 輸入年、月、日,判斷該日是否合法,合法則印出 true, 非法則印出 false");
                Console.WriteLine("請輸入非1~4的數字來結束程式");
                select = Console.ReadLine();
                sel = int.Parse(select);
                switch (sel)
                {
                    case 1:
                        {
                            //輸入一個星球紀元年分,判斷其為閏年或平年
                            Console.WriteLine("請輸入年分");
                            year = Console.ReadLine();
                            y = int.Parse(year);
                            if ((y + 2) % 5 == 0 && (y + 2) % 85 != 0)
                                Console.WriteLine("{0}這是閏年", y);
                            else if (y % 255 == 0)
                                Console.WriteLine("{0}這是閏年", y);
                            else
                                Console.WriteLine("{0}這是平年", y);
                            Console.ReadKey();
                            Console.Clear();
                            break;
                        }

                    case 2:
                        {   
                            //請列出該星球前100個閏年的年份。
                            int time = 0;
                            y = 0;
                            while(time < 100)
                            {
                                y++;
                                if ((y + 2) % 5 == 0 && (y + 2) % 85 != 0)
                                {
                                    Console.WriteLine("{0}", y);
                                    time++;
                                }
                                else if ((y + 2) % 255 == 0)
                                {
                                    Console.WriteLine("{0}", y);
                                    time++;
                                }
                                
                            }
                            Console.ReadKey();
                            Console.Clear();
                            break;
                        }
                    case 3:
                        {
                            //輸入一個年份及月份,印出該月的天數。
                            Console.WriteLine("請輸入年分");
                            year = Console.ReadLine();
                            y = int.Parse(year);
                            Console.WriteLine("請輸入月分");
                            month = Console.ReadLine();
                            m = int.Parse(month);
                            if (m == 1 || m == 4 || m == 7 || m==10)
                                Console.WriteLine("該月有26天");
                            else if (m == 2 || m == 5 || m == 8 || m == 11)
                                Console.WriteLine("該月有25天");
                            else if (m == 3 || m == 6 || m == 9 || m == 12)
                                Console.WriteLine("該月有24天");
                            else if (m == 13 && (y + 2) % 5 == 0 && (y + 2) % 85 != 0)
                                Console.WriteLine("該月有23天");
                            else if (m == 13 && (y + 2) % 255 == 0)
                                Console.WriteLine("該月有23天");
                            else if (m == 13)
                                Console.WriteLine("該月有22天");
                            Console.ReadKey();
                            Console.Clear();
                            break;
                        }
                    case 4:
                        {
                            //輸入年、月、日,判斷該日是否合法,合法則印出 true, 非法則印出 false
                            Console.WriteLine("請輸入年分");
                            year = Console.ReadLine();
                            y = int.Parse(year);
                            Console.WriteLine("請輸入月分");
                            month = Console.ReadLine();
                            m = int.Parse(month);
                            Console.WriteLine("請輸入天");
                            day = Console.ReadLine();
                            d = int.Parse(day);
                            if (m == 1 || m == 4 || m == 7 || m == 10 && d > 26)
                                Console.WriteLine("false");
                            else if (m == 2 || m == 5 || m == 8 || m == 11 && d > 25)
                                Console.WriteLine("false");
                            else if (m == 3 || m == 6 || m == 9 || m == 12 && d > 24)
                                Console.WriteLine("false");
                            else if(m == 13)
                            {
                                if ((y + 2) % 5 == 0 && (y + 2) % 85 != 0 || (y + 2) % 255 == 0 )
                                {
                                    if (d > 23)
                                    Console.Write("false");
                                    else
                                    Console.Write("true");
                                }
                                else
                                {
                                    if (d > 22)
                                    {
                                        Console.Write("false");
                                    }
                                    else
                                    {
                                        Console.Write("true");
                                    }
                                }
                            }
                        
                            else
                                Console.WriteLine("true");
                            Console.ReadKey();
                            Console.Clear();
                            break;
                        }
                     default:
                     return;
                }
            }

        }
    }
}

沒有留言:

張貼留言