返回列表 發帖

C# 7 404 上週起迄日期

TQC+ 物件導向程式語言
最新一次更新時間:2024-01-05 14:58:30

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS04資料夾中的CSD04.cs進行編寫。依下列題意進行作答:輸入一個日期,再輸出此日期的上週起迄日期,使輸出值符合題意要求。檔案名稱請另存新檔為CSA04.cs,儲存於C:\ANS.CSF\CS04資料夾,再進行評分。

2. 設計說明:
請撰寫程式,讓使用者輸入一個8位數的整數作為日期,計算並輸出此日期的上週起迄日,輸出格式如【xxxx/xx/xx-yyyy/yy/yy】(-及/皆為半形符號),以星期一為第一天,星期日為最後一天。若輸入的日期剛好是星期日,則此星期日為上週起迄日的最後一天。若輸入文字或無法轉換,請輸出【error】。

3. 輸入輸出:
輸入說明
一個8位數的整數做為日期

輸出說明
上週的起迄日(輸出最後一行後不自動換行)

範例輸入1
20190422
範例輸出1
2019/04/15-2019/04/21

範例輸入2
20111332
範例輸出2
error

範例輸入3
20191110
範例輸出3
2019/11/04-2019/11/10

4. 評分項目:
(1) 符合設計說明輸出正確格式        配分20
May

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;

  6. namespace CSA04
  7. {
  8.     class CSA04
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 DateTime dt = DateTime.ParseExact(Console.ReadLine(), "yyyyMMdd", null);
  15.                 string firstDay = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))).AddDays(-7).ToString("yyyy/MM/dd");
  16.                 string lastDay = Convert.ToDateTime(firstDay).AddDays(6).ToString("yyyy/MM/dd");
  17.                 Console.Write("{0}-{1}", firstDay, lastDay);
  18.             }
  19.             catch
  20.             {
  21.                 Console.Write("error");
  22.             }
  23.             Console.ReadKey();
  24.         }
  25.     }
  26. }
複製代碼
回復 1# may
May

TOP

返回列表