C#--第2週実験--タスク9--コンソールアプリケーションの作成--日付を入力し、この年の数日目を求める
6313 ワード
//*(プログラムヘッダコメント開始)*プログラムの著作権とバージョン宣言部分*Copyright(c)2011、煙台大学コンピュータ学部学生*All rights reserved.*ファイル名:日付を入力し、日付がこの年の日付であることを求めます.
*作者:雷恒鑫*完成日:2012年09月09日*版号:V 1.0*タスクおよび解法の説明部*入力説明:*問題説明:*プログラム出力:
*プログラムヘッダのコメント終了
*/
実行結果:
質問:switch文でdefaultの後にbreakを追加しなければならないことに気づきました.そうしないと、プログラムが間違っています.
これはC++とはちょっと違います.
*作者:雷恒鑫*完成日: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++とはちょっと違います.