Board logo

標題: C# 7 506 刪除文字資料 [打印本頁]

作者: may    時間: 2024-1-8 22:39     標題: C# 7 506 刪除文字資料

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

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

2. 設計說明:
專案目錄已提供read.txt,內含13位學生的資料,每列資料以半形逗號隔開,第一欄的數字代表編號。
請撰寫程式,輸入如1-13的數字,再將該數字代表的資料予以刪除,其餘未刪除之資料寫入write.txt,並輸出如【Delete:1 Nancy】。
若輸入文字或不在指定範圍的數字,請輸出【error】。

3. 輸入輸出:
輸入說明
編號

輸出說明
已刪除的資料編號及姓名(輸出最後一行後不自動換行)

範例輸入1
1
範例輸出1
Delete:1 Nancy
image alt

範例輸入2
18
範例輸出2
error

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

  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 void Main(string[] args)
  13.         {
  14.             try
  15.             {
  16.                 int row = Convert.ToInt32(Console.ReadLine());
  17.                 if (row < 1 || row > 13) { throw new Exception(); }
  18.                 StringBuilder new_data = new StringBuilder();
  19.                 string del_name = "";
  20.                 using (StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "/read.txt", Encoding.UTF8))
  21.                 {
  22.                     while (!sr.EndOfStream)
  23.                     {
  24.                         string line = sr.ReadLine();
  25.                         string[] student = line.Split(',');
  26.                         if(student[0].ToString() != row.ToString())
  27.                         {
  28.                             new_data.AppendLine(line);
  29.                         }
  30.                         else
  31.                         {
  32.                             del_name = student[1].ToString();
  33.                         }
  34.                     }
  35.                 }
  36.                 StreamWriter sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "/write.txt", false, Encoding.UTF8);
  37.                 sw.Write(new_data);
  38.                 sw.Close();
  39.                 Console.Write("Delete:{0} {1}",row,del_name);
  40.             }
  41.             catch
  42.             {
  43.                 Console.Write("error");
  44.             }
  45.             Console.ReadKey();
  46.         }


  47.     }
  48. }
複製代碼





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