標題:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Collections;
namespace CSA05
{
class CSA05
{
static void Main(string[] args)
{
try
{
int row = Convert.ToInt32(Console.ReadLine());
if (row < 1 || row > 13) { throw new Exception(); }
StringBuilder new_data = new StringBuilder();
string del_name = "";
using (StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "/read.txt", Encoding.UTF8))
{
while (!sr.EndOfStream)
{
string line = sr.ReadLine();
string[] student = line.Split(',');
if(student[0].ToString() != row.ToString())
{
new_data.AppendLine(line);
}
else
{
del_name = student[1].ToString();
}
}
}
StreamWriter sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "/write.txt", false, Encoding.UTF8);
sw.Write(new_data);
sw.Close();
Console.Write("Delete:{0} {1}",row,del_name);
}
catch
{
Console.Write("error");
}
Console.ReadKey();
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2