C語言課程設計報告要求與示例

2022-06-20 23:18:06 字數 3093 閱讀 5974

蘇州科技學院

二○○九 ~二○一○學年第二學期

電子與資訊工程學院

課程設計報告書

課程名稱: 程式設計基礎實踐

班級: 電子0911

學號: 0920106123

姓名: 楊立

指導教師: 楊文碩

二○一○年四月

《職工檔案管理系統》的設計與實現

(1)每一條記錄包括乙個職工的工號、姓名、年齡、部門、職務。

(2)輸入功能:可以一次完成無數條記錄的輸入。

(3)追加功能:可以一次完成無數條記錄的追加。

(3)顯示功能:完成全部職工記錄的顯示。

(4)查詢功能:完成按姓名查詢職工記錄,並顯示。

(5)修改功能:完成對指定工號的修改。

(6)刪除功能:可以一次完成乙個職工檔案資訊的刪除。

(7)儲存功能:將職工記錄儲存在任何自定義的檔案中,如儲存在:c:\information。

(8)讀取功能:將儲存在檔案中的職工記錄讀取出來。

(9)有乙個清晰美觀介面來呼叫各個功能

(1)整個系統均用c語言實現;

(2)利用指標、鍊錶來實現職工資訊的資料結構設計;

(3)系統具有輸入、追加、顯示、查詢、修改、刪除、儲存、讀取基本功能;

(4)系統的各個功能模組都用函式的形式來實現;

(5)可以將職工資訊儲存在檔案中。

(6)可以將職工資訊從檔案中讀取出來。

整個系統除了主函式外,另外還有10個函式,實現七大功能:輸入功能、追加功能、顯示功能、查詢功能、刪除功能、儲存功能、讀取功能。各個函式的詳細設計說明分別如下:

利用無限次迴圈for(;;)和swithch()實現各函式的呼叫,系統根據輸入的數字選項來呼叫相應的函式。

這是乙個無參函式,主要實現「功能選擇」的介面,在這個介面裡有顯示系統的七大功能,根據每個功能前面的序號進行選擇,中間還顯示系統當前的時間。等執行完每乙個函式功能後,按任一鍵回到主介面也要通過這個函式來實現!

這是乙個無參函式,用來執行職工資訊記錄的輸入,當職工為0時停止輸入,函式結束後,帶回乙個指向煉表頭的指標head。

演算法:先宣告乙個首節點head,並將head->next設為null。每輸入乙個資料就宣告乙個新節點p,把p->next設為null,並且鏈結到之前列表的尾端。

n-s流程圖如下:

這是乙個無參函式,用來執行職工資訊記錄的追加,當職工為0時停止輸入,函式結束後,帶回乙個指向煉表頭的指標head。

演算法:先宣告乙個首節點head,並將head->next設為null。每輸入乙個資料就宣告乙個新節點p,把p->next設為null,並且鏈結到之前列表的尾端。

n-s流程圖如下:

p2=head

while((head!=null)&&p2->next!=null)

指標p2指向新開闢的單元

指標p2是否為空

是否輸入工號p1->id

輸出 p1->id是否為0

記憶體是否

溢位 p2->next head=null;

nullhead=p1;

停止輸入姓名p->name

輸入輸入年齡p->age

返回輸入部門p->department

選單輸入職務 p->position

這是乙個不返回值的有參函式,形參為「煉表頭的指標」,負責對全部職工資訊記錄的輸出,不足之處就是不能對職工資訊進行分頁顯示。

演算法:先將p結點的指標指向第乙個結點,將p結點(即第乙個結點)的資料輸出。然後再將p結點的指標指向p指標的的指標(即下一結點),將p結點(即第一結點)的資料輸出。

重複執行此步聚直到p指標指向null為止。

n-s流程圖如下:

這是乙個不返回值的有參函式,形參為「煉表頭的指標」,實現按工號對某個職工進行查詢,並顯示所查詢到的記錄。

演算法:採用線性查詢法往下乙個節點查詢。輸入所要查詢的職工的工號s,設乙個指標變數p,先指向第乙個結點,當strcmp(p->name) && p !

= null時,使p後移乙個結點,如果p!=null,輸出p所指的結點。

n-s流程圖如下:

這是乙個不返回值的有參函式,形參有兩個,乙個是「煉表頭的指標」,乙個是「待修改指標」,按照工號查詢的方法找到要修改的職工檔案,並返回。

演算法:先用查詢函式對輸入的對應的工號進行查詢,如果能查詢到相應的職工檔案,則輸出原始檔案資訊,並要求輸入新的職工檔案資訊,否則輸出您輸入的工號不存在的提示。

n-s流程圖如下:

這是乙個有參函式,形參為「煉表頭的指標」,先輸入要刪除的職工記錄的工號,找到後顯示該職工資訊,等確認後便可按「y」進行刪除。

演算法:從p指向的第乙個結點開始,檢查該結點中的id值是否等於輸入的要求刪除的那個工號。如果相等就將該結點刪除,如不相等,就將p後移乙個結點,再如此進行下去,直到遇到表尾為止。

n-s流程圖如下:

這是乙個不返回值的有參函式,形參為「煉表頭的指標」,可以把職工記錄儲存在電腦上由自己任意命名的二進位制檔案。

n-s流程圖如下:

這是乙個不返回值的有參函式,形參為「煉表頭的指標」,根據輸入的檔案位址進行讀取。

n-s流程圖如下:

(1)剛開始沒有那個初始化函式,程式執行後,沒有輸入任何資料就試得去執行顯示功能,結果顯示的是一些亂碼!加入初始化函式後,這種現象也隨之消失。

(2)剛開始執行輸入函式,按工號順序輸入十個職工的檔案資訊,輸完後執行顯示功能,無法執行輸入職工人數的控制,試著在其中增加一些語句,希望能隨意控制輸入的職工人數,以便及時結束輸入功能,但暫時沒有成功。

(3)在輸入函式中設了乙個無限迴圈,可以輸入無數個學生的成績資訊,當學號為0的時候則停止輸入。

(4)輸入太多個職工的檔案資訊時,螢幕顯示不能控制為一頁一頁顯示,所以為了方便起見,不要輸入太多記錄,十五左右為最佳。

(5)在輸入選項時不能輸入字母,否則會死迴圈,建議不要亂輸字母。

經過乙個多星期的c語言課程設計,感覺自己收穫不少!

首先是:鍊錶本來上課是沒有上的,但這個課程設計裡面主要都是用鍊錶,因為要達到這樣的功能,使用鍊錶相當方便,但不容易理解,所以在這方面我很了很多的時間看課本和參考課外書,使c語言的知識強化了不少。

其次,在做課程設計的過程中,發現了平時很多沒有注意到的問題,例如:返回值函式和不返回值函式兩者在主函式中的呼叫是不同的……

C語言課程設計要求

題目 學生成績管理系統 一課程設計目的 1 進一步掌握和利用c語言進行程設計的能力 2 進一步理解和運用結構化程設計的思想和方法 3 初步掌握開發乙個小型實用系統的基本方法 4 學會除錯乙個較長程式的基本方法 5 學會利用流程圖或n s圖表示演算法 6 掌握書寫程設計開發文件的能力 書寫課程設計報告...

C語言程式設計課程設計報告 內容要求

摘要主要內容為本課程設計報告的簡單說明 主要寫三個方面 做的什麼 最麼做的 設計的程式能幹什麼,200 關鍵詞 陣列 檔案 消費管理 3 5個關鍵字,與本報告有關 目錄1 需求分析 主要介紹該軟體具有哪些詳細的功能,及軟體的介面要求 資訊儲存要求等 要把軟體的所有的功能全部寫在該部分 2 系統分析與...

C語言課程設計報告

課程名稱計算機高階語言課程設計 c 教師姓名 本科生姓名 本科生學號 本科生專業機械設計製造及其自動化 所在院系機電學院 類別c.本科生 日期2013.7.11 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平時成績,必須在上面評分表中標出,並計算入總成績。模擬手...