C#--第2週実験--タスク9--コンソールアプリケーションの作成--日付を入力し、この年の数日目を求める

6313 ワード

//*(プログラムヘッダコメント開始)*プログラムの著作権とバージョン宣言部分*Copyright(c)2011、煙台大学コンピュータ学部学生*All rights reserved.*ファイル名:日付を入力し、日付がこの年の日付であることを求めます.
*作者:雷恒鑫*完成日:2012年09月09日*版号:V 1.0*タスクおよび解法の説明部*入力説明:*問題説明:*プログラム出力:
*プログラムヘッダのコメント終了
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication_do_while
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("       |----------------------------------------------------------------|");
            Console.WriteLine("       |       “      ,              ”     |");
            Console.WriteLine("       |----------------------------------------------------------------|");
            Console.WriteLine();
            Console.WriteLine("         ...");
            Console.WriteLine();
            Console.Write("       :");
            int year = int.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.Write("       :");
            int month = int.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.Write("         (  ?):");
            int date = int.Parse(Console.ReadLine());
            Console.WriteLine();
            Console.Write("{0} {1} {2}       ",year,month,date);
            bool b = Leap_Common_year(year);//        
            switch(month)     //    
            {
                case 1:month_1(date);break;//           
                case 2:month_2(date);break;
                case 3:month_3(date,b);break;
                case 4:month_4(date,b);break;
                case 5:month_5(date,b);break;
                case 6:month_6(date,b);break;
                case 7:month_7(date,b);break;
                case 8:month_8(date,b);break;
                case 9:month_9(date,b);break;
                case 10:month_10(date,b);break;
                case 11:month_11(date,b);break;
                case 12:month_12(date,b);break;
                default: Console.WriteLine("        ..."); break;
            }
            Console.ReadKey();
        }
        static bool Leap_Common_year(int year)//        
        {
            bool b;
            if (year % 4 == 0 && year % 100 != 0)
            {
                b = false;
            }
            else
            {
                b = true;
            }
            return b;
        }
        static void month_1(int date)
        {
            Console.Write("{0} 。",date);


        }
        static void month_2(int date)
        {
            int d;
            d = 31 + date;
            Console.Write("{0} ",d);
        }
        static void month_3(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + date;
            }
            else
            {
                d = 31 + 29 + date;
            }
            Console.Write("{0} ", d);


        }
        static void month_4(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + date;
            }
            else
            {
                d = 31 + 29 + 31 + date;
            }
            Console.Write("{0} ", d);
        }
        static void month_5(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + date;
            }
            Console.Write("{0} ", d);
        }
        static void month_6(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + date;
            }
            Console.Write("{0} ", d);

        }
        static void month_7(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + date;
            }
            Console.Write("{0} ", d);

        }
        static void month_8(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + date;
            }
            Console.Write("{0} ", d);

        }
        static void month_9(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + date;
            }
            Console.Write("{0} ", d);
        }
        static void month_10(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + date;
            }
            Console.Write("{0} ", d);

        }
        static void month_11(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + date;
            }
            Console.Write("{0} ", d);

        }
        static void month_12(int date, bool b)
        {
            int d;
            if (b)
            {
                d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + date;
            }
            else
            {
                d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + date;
            }
            Console.Write("{0} ", d);
        }
    }
}
           
    


 
実行結果:
 
 
質問:switch文でdefaultの後にbreakを追加しなければならないことに気づきました.そうしないと、プログラムが間違っています.
これはC++とはちょっと違います.