Board logo

標題: C# 7 510 寫入至文字檔 [打印本頁]

作者: may    時間: 2024-1-8 22:44     標題: C# 7 510 寫入至文字檔

TQC+ 物件導向程式語言
最新一次更新時間:2024-01-05 17:45:18

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS05資料夾中的CSD05.cs進行編寫。依下列題意進行作答:輸入指定數字,代表寫入資料的段落數,再將處理後資料寫入至新檔案,使輸出值符合題意要求。檔案名稱請另存新檔為CSA05.cs,儲存於C:\ANS.CSF\CS05資料夾,再進行評分。
請使用正斜線(/)作為檔案路徑的分隔符號。

2. 設計說明:
請撰寫程式,讓使用者輸入一個正整數n(n≦7),專案已提供title及content兩個變數,分別代表一篇短文的標題及內容。content以英文句號「.」分段並分行,取出content前n段的內容寫入write.txt檔案中。
輸入空值(長度為0的字串)或大於7的數字,表示寫入全部資料;若輸入文字或不在指定範圍的數字,請輸出【error】。

3. 輸入輸出:
輸入說明
一個正整數n(n≦7)

輸出說明
將前n個元素的內容寫入write.txt檔案中

範例輸入1
5
範例輸出1
Alt text

範例輸入2
18
範例輸出2
Alt text

4. 評分項目:
(1) 符合設計說明輸出正確格式配分        20
作者: may    時間: 2024-1-9 09:48

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

  8. namespace CSA05
  9. {
  10.     class CSA05
  11.     {
  12.         static string title = "The Little Prince";
  13.         static string content = "To me, you are still nothing more than a little boy who is just like a hundred thousand other little boys. And I have no need of you. And you, on your part, have no need of me. To you, I am nothing more than a fox like a hundred thousand other foxes. But if you tame me, then we shall need each other. To me, you will be unique in all the world. To you, I shall be unique in all the world.";
  14.         static void Main(string[] args)
  15.         {
  16.             try
  17.             {
  18.                 string row = Console.ReadLine();
  19.                 int lines = 0;
  20.                 //TODO
  21.                 string fileName = "write.txt";
  22.                 string[] paragraphInArray = content.Split(
  23.                     new char[] { '.' },
  24.                     System.StringSplitOptions.RemoveEmptyEntries);
  25.                 List<string> paragraphInList = new List<string>();
  26.                 paragraphInList.Add(title);

  27.                 // check the argument
  28.                 if (row == String.Empty)
  29.                 {
  30.                     lines = int.MaxValue;
  31.                 }
  32.                 else
  33.                 {
  34.                     lines = int.Parse(row);
  35.                     if (lines < 1)
  36.                     {
  37.                         throw new ArgumentException();
  38.                     }
  39.                 }

  40.                 lines = Math.Min(lines, paragraphInArray.Length);
  41.                 for (int i = 0; i < lines; i++)
  42.                 {
  43.                     paragraphInList.Add(paragraphInArray[i] + ".");
  44.                 }
  45.                 System.IO.File.WriteAllLines(
  46.                     fileName, paragraphInList.ToArray());

  47.             }
  48.             catch
  49.             {
  50.                 Console.Write("error");
  51.             }
  52.             Console.ReadKey();
  53.         }

  54.     }
  55. }
複製代碼
回復 1# may




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2