2007年10月23日 星期二

C 程式設計作業九,使用結構、結構陣列與檔案處理

作業內容:
針對提供的資料檔案,建立查詢與顯示資料的功能。程式的執行,一開始出現指令輸入列,並提示可用的協助鍵,例如

Command(h for help):
當使用者鍵入「h」後,則會列出一系列可用的指令,例如

Use
h to show this help;
f to find a record by name;
l to list all names in the file;
i to insert a new record;
d to delete a specified record;
m to modify a specified record;
q to quit.
h:列出指令說明;
f:查詢一筆資料的內容;
l:列出所有資料中的人名;
i:插入一筆新的資料;
d:刪除一筆特定的資料;
m:修改一筆特定的資料;
q:離開。

本次作業要完成 h、f、l、q 四個基本功能。

所需處理的資料檔案名稱為「db.txt」,其內容如下圖所示,第一行為資料的筆數,每筆資料有三項內容,第一項為姓名,為20個以內的英文字;第二項為性別,為「M」或「F」的單一字元;第三項為分數,是一個實數。這個檔案有三筆資料,所以第一行為3,每筆有三項資料,所以 3*3就有九行的資料。因此檔案全部內容共十行。

當使用者鍵入「f」後,則會出現一行提示使用者輸入欲查詢的姓名,鍵入姓名後,如果檔案中有這個人的資料,則列出該人的三項資料內容,如果找不到,則列出該人名未被發現。

當使用者鍵入「l」後,則會列出資料檔案中全部的人名。

當使用者鍵入「q」後,則程式執行結束。

如果使用者是輸入未經認可的指令,則列出「Invalid command」,亦即無此指令。

作業提示:
一、程式本身是一個循環結構,不斷的處理使用者輸入的指令(合法或不合法),直到鍵入「q」才結束。

二、建議使用switch的方式來處理每個輸入的指令。

三、使用適當的函數呼叫,以增加程式的可讀性,在開發過程也較容易進行除錯的工作。

四、經常使用Dev-C++所提供的除錯功能,進行逐步執行,以了解程式的每個指令執行過程。

五、測試時, 要分別詳細測試 h、f、l、q 四個功能是否正確,並備便紀錄全部的執行過程,以備未來列印。測試內容列印可參考 p3output.txt
解答下載
回到作業目錄
回到首頁

沒有留言: