十字交叉链表c语言,C语言课程设计报告—十字交叉链表的应用.doc
C語言課程設(shè)計(jì)報(bào)告—十字交叉鏈表的應(yīng)用
PAGE \* MERGEFORMAT 13
華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
C語言程序設(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
題目:水產(chǎn)品養(yǎng)殖信息管理系統(tǒng)
專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班級: 計(jì)科1003 學(xué)號: 姓名: 魯辰 成績:
指導(dǎo)老師:盧萍
完成日期: 2011年9月28日
目錄
系統(tǒng)概述3
系統(tǒng)功能模塊結(jié)構(gòu)3
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說明4
程序結(jié)構(gòu)6
各模塊功能9
實(shí)驗(yàn)結(jié)果11
體會13
參考文獻(xiàn)13
附錄:源代碼及頭文件報(bào)告后
系統(tǒng)概述本系統(tǒng)是一個水產(chǎn)品管理系統(tǒng),用于存儲和管理水產(chǎn)品的信息,系統(tǒng)功能包括:魚塘、苗種、投苗信息的錄入、刪除、修改、查找、排序等。整個系統(tǒng)由C語言實(shí)現(xiàn),采用了Windows程序設(shè)計(jì)調(diào)用API函數(shù)的方法制作界面,信息在程序中通過十字鏈表的方式被存儲,如果使用保存功能,即存入文件根目錄下的相應(yīng).dat文件中。本程序中最重要的部分之一是窗體的句柄和窗體中各個控件的句柄,通過發(fā)消息給相應(yīng)的句柄,才能夠在特定的位置進(jìn)行數(shù)據(jù)的顯示和讀入,在對樹狀圖及列表進(jìn)行操作時(shí),也是通過特定函數(shù)將消息發(fā)給樹狀圖或其子節(jié)點(diǎn)和列表的句柄,并且,在對數(shù)據(jù)進(jìn)行變更時(shí),本程序是以所選中節(jié)點(diǎn)的句柄與鏈表的句柄進(jìn)行對比,來判斷是否進(jìn)行操作的。一個信息節(jié)點(diǎn)在樹狀圖中所對應(yīng)的句柄也因此被作為魚塘(POOL_NODE)、苗種(FISH_NODE)、投苗(FEED_NODE)結(jié)構(gòu)的一部分。數(shù)據(jù)結(jié)構(gòu)的介紹中有界面中每個控件所對應(yīng)的句柄名稱示意圖。本程序另一個重要部分是十字鏈表的結(jié)構(gòu),通過使用三級十字鏈表,將所有的信息系統(tǒng)的組合在一個頭節(jié)點(diǎn)下。為支持鏈表,每個節(jié)點(diǎn)都數(shù)據(jù)結(jié)構(gòu)中都有一個指向下一級節(jié)點(diǎn)(除投苗信息FEED_NODE外)和一個指向下一個同級節(jié)點(diǎn)的指針。
系統(tǒng)功能模塊結(jié)構(gòu)水產(chǎn)品養(yǎng)殖信息管理系統(tǒng)由六大功能組成:數(shù)據(jù)錄入模塊、數(shù)據(jù)修改模塊、數(shù)據(jù)插入模塊、數(shù)據(jù)刪除模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)統(tǒng)計(jì)排序模塊。如圖F1 所示。
水產(chǎn)品養(yǎng)殖信息管理系統(tǒng)水產(chǎn)品數(shù)據(jù)文件處理水產(chǎn)品數(shù)據(jù)錄入處理水產(chǎn)品數(shù)據(jù)修改處理水產(chǎn)品數(shù)據(jù)查詢處理水產(chǎn)品數(shù)據(jù)統(tǒng)計(jì)處理水產(chǎn)品數(shù)據(jù)排序處理文件導(dǎo)入處理文件存盤處理退出系統(tǒng)處理文件創(chuàng)建處理魚塘數(shù)據(jù)錄入投苗數(shù)據(jù)錄入苗種數(shù)據(jù)錄入魚塘數(shù)據(jù)修改
投苗數(shù)據(jù)修改
苗種數(shù)據(jù)修改
按時(shí)間查詢苗種信息魚塘數(shù)據(jù)統(tǒng)計(jì)
投苗數(shù)據(jù)統(tǒng)計(jì)
苗種數(shù)據(jù)統(tǒng)計(jì)
按投苗時(shí)間按苗種單價(jià)按投養(yǎng)數(shù)量
主模塊一:水產(chǎn)品數(shù)據(jù)文件處理該模塊包括4個子模塊,分別是:文件創(chuàng)建處理、文件導(dǎo)入處理、文件存盤處理、退出系統(tǒng)處理。所有信息可被保存在三個文件:pool.dat,fish.dat,feed.dat中,pool.dat用于保存魚塘節(jié)點(diǎn)信息,fish.dat用于保存苗種節(jié)點(diǎn)信息,feed.dat用于保存投苗節(jié)點(diǎn)信息。在文件寫入到新建的鏈表時(shí),每個節(jié)點(diǎn)都會有一個句柄,指向左側(cè)樹狀圖中節(jié)點(diǎn),因?yàn)槊總€節(jié)點(diǎn)的句柄都是不同的,所以句柄用于作為該節(jié)點(diǎn)的唯一標(biāo)識。
主模塊二:水產(chǎn)品數(shù)據(jù)錄入處理該模塊包括3個子模塊,分別是:魚塘數(shù)據(jù)錄入、投苗數(shù)據(jù)錄入、苗種數(shù)據(jù)錄入。在插入下一級節(jié)點(diǎn)時(shí),應(yīng)選中樹狀圖中的上一級節(jié)點(diǎn),例如:要插入苗種信息節(jié)點(diǎn),應(yīng)選中樹狀圖中的該苗種所對應(yīng)的魚塘信息節(jié)點(diǎn),否則不能成功插入。特別注意的是:本程序中所有的輸入輸出均采用API函數(shù),也就是說,輸入每個特定信息的文本框是特定的。
主模塊三:水產(chǎn)品數(shù)據(jù)修改處理該模塊包括3個子模塊,分別是:魚塘數(shù)據(jù)修改、投苗數(shù)據(jù)修改、苗種數(shù)據(jù)修改。在修改各模塊時(shí),應(yīng)首先選中左側(cè)樹狀圖中的相應(yīng)節(jié)點(diǎn),然后,單擊相應(yīng)的修改按鈕。若選中的節(jié)點(diǎn)與要修改的節(jié)點(diǎn)不在同一級,則不能修改成功。
主模塊四:水產(chǎn)品數(shù)據(jù)查詢處理該模塊包括1個子模塊,是:按時(shí)間查詢苗種信息。使用查詢操作時(shí),應(yīng)先在查詢按鈕左側(cè)的起始時(shí)間和截止時(shí)間文本框內(nèi)按格式(如:2011-01-01)輸入,然后單擊查詢按鈕,查詢結(jié)果便會顯示在右下方的列表中。如果日期的輸入格式錯誤,則不能輸出正確的查詢結(jié)果。
5.主模塊五:水產(chǎn)品數(shù)據(jù)統(tǒng)計(jì)處理該模塊包括3個子模塊,分別是:魚塘數(shù)據(jù)統(tǒng)計(jì)、投苗數(shù)據(jù)統(tǒng)計(jì)、苗種數(shù)據(jù)統(tǒng)計(jì)。當(dāng)信息節(jié)點(diǎn)創(chuàng)建或者載入時(shí),節(jié)點(diǎn)信息下方用于顯示統(tǒng)計(jì)結(jié)果的靜態(tài)文本的示數(shù)都會產(chǎn)生變化。
6.主模塊六:水產(chǎn)品數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的十字交叉链表c语言,C语言课程设计报告—十字交叉链表的应用.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 虚拟仪器,linux平台下编
- 下一篇: c语言十万以内超级素数,用C语言求素数的