服裝網(wǎng)店信息管理系統(tǒng).doc_第1頁(yè)
服裝網(wǎng)店信息管理系統(tǒng).doc_第2頁(yè)
服裝網(wǎng)店信息管理系統(tǒng).doc_第3頁(yè)
服裝網(wǎng)店信息管理系統(tǒng).doc_第4頁(yè)
服裝網(wǎng)店信息管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告題目: 服裝網(wǎng)店信息管理系統(tǒng) 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí): 學(xué)號(hào): 姓名: 成績(jī): 指導(dǎo)教師: 李開 完成日期: 2012年 03月 26日一、 系統(tǒng)功能模塊結(jié)構(gòu)服裝網(wǎng)店信息管理系統(tǒng)由五大功能模塊組成:文件模塊,數(shù)據(jù)維護(hù),數(shù)據(jù)查詢,數(shù)據(jù)統(tǒng)計(jì),幫助系統(tǒng)。其中,數(shù)據(jù)維護(hù)模塊包括對(duì)服裝分類信息,服裝基本信息,服裝銷售信息的錄入、修改和刪除;數(shù)據(jù)查詢模塊包括對(duì)分類代碼的查詢,對(duì)服裝基本信息的查詢(包括按名稱查找和按分類碼加價(jià)格查找),對(duì)服裝銷售信息的查詢(包括按客戶名稱加銷售日期和按服裝名稱加評(píng)價(jià)指數(shù)查找);數(shù)據(jù)統(tǒng)計(jì)模塊包括對(duì)服裝具體銷售類別的統(tǒng)計(jì),年銷售信息的統(tǒng)計(jì),按客戶名稱統(tǒng)計(jì),按季度統(tǒng)計(jì)和按式樣統(tǒng)計(jì)。具體如下圖所示:服裝網(wǎng)店信息管理系統(tǒng)文件系統(tǒng)數(shù)據(jù)維護(hù)數(shù)據(jù)查詢數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)保存數(shù)據(jù)備份數(shù)據(jù)恢復(fù)數(shù)據(jù)錄入數(shù)據(jù)修改數(shù)據(jù)刪除分類編碼查詢服裝基本信息查詢服裝銷售信息查詢服裝具體銷售情況年銷售統(tǒng)計(jì)式樣銷售情況統(tǒng)計(jì)退出系統(tǒng)季度統(tǒng)計(jì)按客戶名稱統(tǒng)計(jì)幫助系統(tǒng)幫助系統(tǒng)關(guān)于主題圖1. 系統(tǒng)功能模塊示意圖下圖為具體功能模塊:數(shù)據(jù)維護(hù)數(shù)據(jù)錄入數(shù)據(jù)修改數(shù)據(jù)刪除分類代碼的錄入服裝基本信息的錄入服裝銷售信息的錄入分類代碼的修改服裝基本信息的修改服裝銷售信息的修改分類代碼的刪除服裝基本信息的刪除服裝銷售信息的刪除圖2. 數(shù)據(jù)維護(hù)模塊功能示意圖數(shù)據(jù)查詢分類編碼查詢服裝基本信息查詢服裝銷售信息查詢按服飾名稱中字符子串來(lái)查找以分類碼和單價(jià)為條件查找以客戶名稱和銷售日期為條件查找以服飾名稱和客戶評(píng)價(jià)為條件查找圖3. 數(shù)據(jù)查詢模塊功能示意圖文件系統(tǒng)主模塊包括三個(gè)子模塊:數(shù)據(jù)保存、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)、退出系統(tǒng);數(shù)據(jù)維護(hù)主模塊包括三個(gè)子模塊:數(shù)據(jù)錄入、數(shù)據(jù)修改、數(shù)據(jù)刪除;數(shù)據(jù)查詢主模塊包括三個(gè)子模塊:服裝分類信息查詢、服裝基本信息查詢、服裝銷售信息查詢;數(shù)據(jù)統(tǒng)計(jì)主模塊包括五個(gè)子模塊:服裝具體銷售情況、年銷售統(tǒng)計(jì)、按客戶名稱統(tǒng)計(jì)、季度統(tǒng)計(jì)、式樣銷售情況統(tǒng)計(jì);幫助系統(tǒng)主模塊有三個(gè)子模塊:幫助系統(tǒng)、關(guān)于。二、 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明服裝網(wǎng)店信息管理系統(tǒng)對(duì)淘寶網(wǎng)上某服裝店的銷售信息進(jìn)行管理,主要包括服裝分類信息,服裝基本信息,服裝銷售基本信息等三類信息。服裝分類信息參考:中文字段名類型及長(zhǎng)度舉例分類編碼char15分類名稱char105個(gè)分類名稱:外套、內(nèi)搭、下裝、套裝和特色服裝服裝基本信息參考:中文字段名類型及長(zhǎng)度舉例分類碼char1 /表示外套類服裝服飾名稱char30“馬克華菲羽絨服”式樣char0、1、9分別表示男式、女式和中性單價(jià)float128.00 /單位:元售出件數(shù)int根據(jù)銷售情況計(jì)算件數(shù),不用輸入。評(píng)價(jià)指數(shù)float根據(jù)用戶評(píng)價(jià)計(jì)算平均指數(shù),不用輸入。服裝銷售基本信息:中文字段名類型及長(zhǎng)度舉例服飾名稱char30“長(zhǎng)袖針織衫套頭線衣”銷售日期char10“20090222” 年(4)+月(2)+日(2)客戶名稱char20“張三”客戶評(píng)價(jià)int15:很差、差、一般、好、很好服裝網(wǎng)店信息管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)用法:該系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)是采用十字交叉鏈表。十字交叉鏈表的模型如下:鏈表說(shuō)明:以后進(jìn)先出的方式創(chuàng)建十字交叉鏈表,查找功能遍歷鏈表找到相應(yīng)的節(jié)點(diǎn),插入功能和刪除功能分別在指定地方增加或刪除節(jié)點(diǎn),修改功能修改相應(yīng)的節(jié)點(diǎn),統(tǒng)計(jì)功能為遍歷鏈表進(jìn)行排序和輸出三、程序結(jié)構(gòu)(流程圖)1、插入結(jié)點(diǎn)信息流程圖(插入服裝分類信息與服裝基本信息與此大致相同)開始 TYPE_NODE *p = gp_head, *pd; CLO_NODE *pp, *fp;SELL_NODE *pm;int n; char s100;n = 1?插入服裝分類信息Yn = 2?N插入服裝基本 信息n = 3?Y輸出“輸入有誤”NN輸入服裝名稱查找到對(duì)應(yīng)信息?提示“未找到信息”N輸入對(duì)應(yīng)信息Ypm-next=fp-cnext; fp-cnext = pm;結(jié)束2、修改/刪除結(jié)點(diǎn)信息流程圖(插入服裝分類信息與服裝基本信息與此大致相同)開始TYPE_NODE *pt;CLO_NODE *pc;SELL_NODE *ps;char s30; int n;n = 1?修改對(duì)應(yīng)的服裝分類信息Yn = 2?N修改對(duì)應(yīng)服裝基本信息Y輸入要修改的服裝名稱N查找到對(duì)應(yīng)信息?提示信息錯(cuò)誤Y輸入要修改信息的客戶名稱N查找到對(duì)應(yīng)信息?提示信息錯(cuò)誤N結(jié)束修改信息Yn = 3?提示信息錯(cuò)誤NY3、數(shù)據(jù)統(tǒng)計(jì)流程圖開始TYPE_NODE *pt; CLO_NODE *pc;SELL_NODE *ps;pt!=NULL/pt = head;結(jié)束統(tǒng)計(jì)Npc = pt-snext;Ypc!=NULL?結(jié)束統(tǒng)計(jì)Nps = pc-cnext;ps!=NULL?結(jié)束統(tǒng)計(jì)N遍歷鏈表,對(duì)指定數(shù)據(jù)進(jìn)行統(tǒng)計(jì)Y排序并輸出結(jié)束四、各模塊的功能1LoadDate:將代碼表和三類基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)文件載入到內(nèi)存緩沖區(qū)和十字鏈表中。2CreatList:從數(shù)據(jù)文件讀取基礎(chǔ)數(shù)據(jù), 并存放到所創(chuàng)建的十字鏈表中。3SaveSysDate:保存系統(tǒng)代碼表和三類基礎(chǔ)數(shù)據(jù)。4ExitSys:退出系統(tǒng)。5Insert:實(shí)現(xiàn)數(shù)據(jù)的錄入,可以進(jìn)行選擇:1、對(duì)服裝分類信息的錄入;2、對(duì)服裝基本信息的錄入;3、對(duì)服裝銷售信息的錄入。6Modify_info:實(shí)現(xiàn)數(shù)據(jù)的修改,可以進(jìn)行選擇:1、對(duì)服裝分類信息的修改;2、對(duì)服裝基本信息的修改;3、對(duì)服裝銷售信息的修改。7Dele_info:實(shí)現(xiàn)數(shù)據(jù)的刪除,可以進(jìn)行選擇:1、對(duì)服裝分類信息的刪除;2、對(duì)服裝基本信息的刪除;3、對(duì)服裝銷售信息的刪除。8Seek:實(shí)現(xiàn)數(shù)據(jù)的查找。輸入要查找的信息,遍歷鏈表進(jìn)行查找??梢赃M(jìn)行選擇:1、輸入分類編碼對(duì)服裝分類信息進(jìn)行查找;2、輸入服飾名稱對(duì)服裝基本信息進(jìn)行查找;3、輸入顧客名稱對(duì)服裝銷售信息進(jìn)行查找。9Seek_Clo_Name:輸入服裝名稱包含的子串對(duì)相應(yīng)的服裝信息進(jìn)行查找并輸出。10Seek_IDPrice:輸入服裝分類代碼和相應(yīng)的價(jià)格對(duì)相應(yīng)的服裝信息進(jìn)行查找并輸出。11Seek_Sell_Name:輸入服裝銷售顧客姓名和銷售日期對(duì)相應(yīng)的服裝銷售信息進(jìn)行查找并輸出。12Seek_Sell_NamePj:輸入服飾名稱和相應(yīng)的評(píng)價(jià)指數(shù)對(duì)相應(yīng)的服裝銷售信息進(jìn)行查找并輸出。13State_Type:分別統(tǒng)計(jì)各類服裝銷售總件數(shù)、銷售總額、客戶評(píng)價(jià)3的件數(shù)及客戶評(píng)價(jià)3的件數(shù),按銷售總額降序排序輸出。14State_Year:以所輸入的年份為條件,按服飾名稱統(tǒng)計(jì)該年度內(nèi)所售各款服裝的售出件數(shù)。銷售金額、評(píng)價(jià)指數(shù),按售出件數(shù)降序排序輸出。15State_Kehu:按客戶名稱統(tǒng)計(jì)各客戶所購(gòu)服裝件數(shù)、消費(fèi)總金額、對(duì)所購(gòu)服裝的總體評(píng)價(jià)度并輸出。16State_Spring,State_Summer,State_Autumn,State_Winter:分別統(tǒng)計(jì)春夏秋冬四個(gè)季度售出的各類服裝的總件數(shù)和總金額并輸出。17State_Shiyang:根據(jù)式樣(男式,女式,中性)統(tǒng)計(jì)服裝的銷售量和銷售額并輸出。18HelpTopic:系統(tǒng)幫助。19AboutDorm:關(guān)于主題。五、試驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)輸入數(shù)據(jù):(1)服裝分類信息:分類編碼1234分類名稱外套內(nèi)搭下裝套裝(2)服裝基本信息分類碼1112233344服飾名稱馬克華菲羽絨服雪中飛羽絨服李寧運(yùn)動(dòng)外衣恒源祥羊毛衫耐克毛衣李寧運(yùn)動(dòng)短褲森馬短褲英雄牛仔褲米老鼠套裝情侶套裝式樣0190919011單價(jià)12315616698886377111222333(3)服裝銷售信息服飾名稱馬克華菲羽絨服馬克華菲羽絨服雪中飛羽絨服李寧運(yùn)動(dòng)外衣恒源祥羊毛衫李寧運(yùn)動(dòng)短褲森馬短褲米老鼠套裝情侶套裝銷售日期200909092010101020121212201105052011030320121111200907072011080820111111客戶名稱張三李四趙四王二朱六李四張三十六周七評(píng)價(jià)指數(shù)4252135441初始化界面2系統(tǒng)主界面3服裝銷售信息插入界面成功提示:4服裝基本信息修改界面、5根據(jù)服裝名稱查詢服裝基本信息6按分類碼和價(jià)格查找服裝基本信息7按客戶姓名和銷售日期查詢服裝銷售信息8按服飾名稱和客戶評(píng)價(jià)查找服裝銷售信息9服裝具體銷售情況統(tǒng)計(jì)(按銷售總額降序排序)10年銷售統(tǒng)計(jì)11按客戶名稱統(tǒng)計(jì)12按季度統(tǒng)計(jì)13式樣銷售情況14銷售信息刪除結(jié)點(diǎn)15幫助系統(tǒng)16關(guān)于主題六、體會(huì)課程設(shè)計(jì)的結(jié)束也標(biāo)志這C語(yǔ)言的學(xué)習(xí)告一段落,本次課程設(shè)計(jì)我感覺最大的收獲就是對(duì)C語(yǔ)言有了更深刻的體會(huì),也從中學(xué)習(xí)了好多有關(guān)C語(yǔ)言的知識(shí)。當(dāng)然中途也遇到了好多瓶頸,最開始做這份課程設(shè)計(jì)時(shí),不知道應(yīng)該從何下手,從哪里做起,于是就一點(diǎn)點(diǎn)的照著書看,一點(diǎn)點(diǎn)想,一個(gè)函數(shù)一個(gè)函授慢慢地寫慢慢地調(diào)試。因?yàn)槔蠋熃o了一些關(guān)于界面的代碼,所以在文本界面這方面就方便了許多(本次課程設(shè)計(jì)是學(xué)習(xí)C語(yǔ)言過(guò)程中第一次接觸文本界面,簡(jiǎn)單易操作,界面通俗易懂,著實(shí)方便?。┑且?yàn)檎莆盏倪€是不夠熟練,界面可能還是會(huì)略顯粗糙,代碼不夠完善,界面有些地方可能設(shè)計(jì)的不夠合理,有些瑕疵。本次課程設(shè)計(jì)過(guò)程中也曾遇到了好多問(wèn)題,當(dāng)時(shí)手里也沒有參考資料,于是就自己一點(diǎn)一點(diǎn)慢慢調(diào)試,耐心和同學(xué)們討論,每當(dāng)解決一個(gè)問(wèn)題內(nèi)心就會(huì)興奮不已,感覺離勝利又近了一步。當(dāng)程序運(yùn)行不下去時(shí),我內(nèi)心也會(huì)非常的沮喪,但最后還是硬著頭皮挺了過(guò)來(lái),當(dāng)最后所有的功能都基本實(shí)現(xiàn),程序正常運(yùn)行時(shí),內(nèi)心簡(jiǎn)直有種前所未有的成就感!這次課程設(shè)計(jì)對(duì)我來(lái)說(shuō)是一個(gè)不小的挑戰(zhàn),收獲也是非常多的。有句話說(shuō)得好:只要功夫深,鐵杵磨成針!每當(dāng)遇到問(wèn)題想要放棄時(shí),一定要堅(jiān)持下來(lái),耐心的一點(diǎn)點(diǎn)去解決,運(yùn)用自己靈活的智慧最后還要感謝李老師的耐心教導(dǎo)和幫助以及在課設(shè)過(guò)程中給予我?guī)椭耐瑢W(xué)們。七、參考文獻(xiàn)C語(yǔ)言實(shí)驗(yàn)與課程設(shè)計(jì) 李開,盧萍,曹計(jì)昌編著 科學(xué)出版社C語(yǔ)言程序設(shè)計(jì)曹計(jì)昌,盧萍,李開編著. 科學(xué)出版社附錄:源程序清單qjy.h#include #include #include #include #include #include #include #include #include #include #include #ifndef TYPE_H_INCLUDED#define TYPE_H_INCLUDED#define SCR_ROW 25 /*屏幕行數(shù)*/#define SCR_COL 80 /*屏幕列數(shù)*/* *服裝銷售信息鏈結(jié)點(diǎn)結(jié)構(gòu) */typedef struct sell_node char clo_id12; /* 分類編碼*/ char name30; /* 服飾名稱*/ char date12; /* 銷售日期*/ char kehu10; /* 客戶名稱*/ int pj; /* 客戶評(píng)價(jià)*/ struct sell_node *next; /* 指向下一結(jié)點(diǎn)的指針*/ SELL_NODE;/* *服裝基本信息鏈結(jié)點(diǎn)結(jié)構(gòu) */typedef struct clo_node char clo_id12; /* 分類編碼*/ char name30; /* 服裝名稱*/ char shiyang; /* 式樣*/ float danjia; /* 單價(jià)*/ int num; /* 售出件數(shù)*/ float pj; /*評(píng)價(jià)指數(shù)*/ struct sell_node *cnext; /* 指向繳費(fèi)信息支鏈的指針*/ struct clo_node *next; /* 指向下一結(jié)點(diǎn)的指針*/ CLO_NODE;/* *服裝基本信息鏈結(jié)點(diǎn)結(jié)構(gòu) */typedef struct type_node char clo_id12; /* 分類編碼*/ char name30; /* 服裝名稱*/ struct clo_node *snext; /* 指向繳費(fèi)信息支鏈的指針*/ struct type_node *next; /* 指向下一結(jié)點(diǎn)的指針*/ TYPE_NODE;/* *屏幕窗口信息鏈結(jié)點(diǎn)結(jié)點(diǎn)結(jié)構(gòu) */typedef struct layer_node char LayerNo; /* 彈出窗口層數(shù)*/ SMALL_RECT rcArea; /* 彈出窗口區(qū)域坐標(biāo)*/ CHAR_INFO *pContent; /* 彈出窗口區(qū)域字符單元原信息存儲(chǔ)緩沖區(qū)*/ char *pScrAtt; /* 彈出窗口區(qū)域字符單元原屬性值存儲(chǔ)緩沖區(qū)*/ struct layer_node *next; /* 指向下一結(jié)點(diǎn)的指針*/ LAYER_NODE;/* *標(biāo)簽束結(jié)構(gòu) */typedef struct labe1_bundle char *ppLabel; /* 標(biāo)簽字符串?dāng)?shù)組首地址*/ COORD *pLoc; /* 標(biāo)簽定位數(shù)組首地址*/ int num; /* 標(biāo)簽個(gè)數(shù)*/ LABEL_BUNDLE;/* *熱區(qū)結(jié)構(gòu) */typedef struct hot_area SMALL_RECT *pArea; /* 熱區(qū)定位數(shù)組首地址*/ char *pSort; /* 熱區(qū)類別(按鍵、文本框、選項(xiàng)框)數(shù)組首地址*/ char *pTag; /* 熱區(qū)序號(hào)數(shù)組首地址*/ int num; /* 熱區(qū)個(gè)數(shù)*/ HOT_AREA;unsigned long num_written; /* Win 7 中使用, 該變量用于某幾個(gè)控制臺(tái)輸出函數(shù) */LAYER_NODE *gp_top_layer = NULL; /*彈出窗口信息鏈鏈頭*/TYPE_NODE *gp_head = NULL; /*主鏈頭指針*/TYPE_NODE *findt, *pt; /*定義的外部變量,用于修改、刪除、查詢等等*/CLO_NODE *findc, *pc;SELL_NODE *finds, *ps;char *gp_sys_name = 服裝網(wǎng)店信息管理系統(tǒng); /*系統(tǒng)名稱*/char *gp_clo_info_filename = clo.dat; /*服裝基本信息數(shù)據(jù)文件*/char *gp_sell_info_filename = sell.dat; /*服裝銷售信息數(shù)據(jù)文件*/char *gp_type_info_filename = type.dat; /*服裝分類信息數(shù)據(jù)文件*/char *gp_shiyang_code_filename = shiyang.dat; /*式樣代碼數(shù)據(jù)文件*/char *gp_clo_type_code_filename = clo_type.dat; /*服裝類別代碼數(shù)據(jù)文件*/char *ga_main_menu = 文件(F), /*系統(tǒng)主菜單名*/ 數(shù)據(jù)維護(hù)(M), 數(shù)據(jù)查詢(Q), 數(shù)據(jù)統(tǒng)計(jì)(S), 幫助(H) ;char *ga_sub_menu = /*系統(tǒng)子菜單名*/ S 數(shù)據(jù)保存, B 數(shù)據(jù)備份, R 數(shù)據(jù)恢復(fù), X 退出 Alt+X, /*空串用來(lái)在彈出菜單中分隔子菜單項(xiàng),下同*/ D 服裝分類信息, P 服裝基本信息, C 服裝銷售基本信息, D 服裝分類信息, P 服裝基本信息, C 服裝銷售基本信息, I 服裝具體銷售情況, T 年銷售統(tǒng)計(jì), C 按客戶名稱統(tǒng)計(jì), U 季度統(tǒng)計(jì), V 式樣銷售情況, T 幫助主題, , A 關(guān)于. ;int ga_sub_menu_count = 4, 3, 3, 5, 3; /*各主菜單項(xiàng)下子菜單的個(gè)數(shù)*/int gi_sel_menu = 1; /*被選中的主菜單項(xiàng)號(hào),初始為1*/int gi_sel_sub_menu = 0; /*被選中的子菜單項(xiàng)號(hào),初始為0,表示未選中*/CHAR_INFO *gp_buff_menubar_info = NULL; /*存放菜單條屏幕區(qū)字符信息的緩沖區(qū)*/CHAR_INFO *gp_buff_stateBar_info = NULL; /*存放狀態(tài)條屏幕區(qū)字符信息的緩沖區(qū)*/char *gp_scr_att = NULL; /*存放屏幕上字符單元屬性值的緩沖區(qū)*/char *gp_shiyang_code = NULL; /*存放式樣代碼表的數(shù)據(jù)緩沖區(qū)*/char *gp_clo_type_code = NULL; /*存放服裝類別代碼表的數(shù)據(jù)緩沖區(qū)*/char *gp_type_code = NULL; /*存放服裝分類代碼表的數(shù)據(jù)緩沖區(qū)*/char *gp_clo_code = NULL; /*存放服裝基本信息代碼表的數(shù)據(jù)緩沖區(qū)*/char *gp_sell_code = NULL; /*存放服裝銷售信息代碼表的數(shù)據(jù)緩沖區(qū)*/char gc_sys_state = 0; /*用來(lái)保存系統(tǒng)狀態(tài)的字符*/unsigned long gul_shiyang_code_len = 0; /*式樣代碼表長(zhǎng)度*/unsigned long gul_clo_type_code_len = 0; /*服裝類別代碼表長(zhǎng)度*/unsigned long gul_type_code_len = 0; /*服裝分類代碼表長(zhǎng)度*/unsigned long gul_sell_code_len = 0; /*服裝銷售代碼表長(zhǎng)度*/unsigned long gul_clo_code_len = 0; /*服裝基本信息代碼表長(zhǎng)度*/HANDLE gh_std_out; /*標(biāo)準(zhǔn)輸出設(shè)備句柄*/HANDLE gh_std_in; /*標(biāo)準(zhǔn)輸入設(shè)備句柄*/int LoadCode(char *filename, char *ppbuffer); /*代碼表加載*/int CreatList(TYPE_NODE *pphead); /*數(shù)據(jù)鏈表初始化*/void InitInterface(void); /*系統(tǒng)界面初始化*/void ClearScreen(void); /*清屏*/void ShowMenu(void); /*顯示菜單欄*/void PopMenu(int num); /*顯示下拉菜單*/void PopPrompt(int num); /*顯示彈出窗口*/int DealInput(HOT_AREA *pHotArea, int *piHot);void PopUp(SMALL_RECT *, WORD, LABEL_BUNDLE *, HOT_AREA *); /*彈出窗口屏幕信息維護(hù)*/void PopOff(void); /*關(guān)閉頂層彈出窗口*/void DrawBox(SMALL_RECT *parea); /*繪制邊框*/void LocSubMenu(int num, SMALL_RECT *parea); /*主菜單下拉菜單定位*/void ShowState(void); /*顯示狀態(tài)欄*/void TagMainMenu(int num); /*標(biāo)記被選中的主菜單項(xiàng)*/void TagSubMenu(int num); /*標(biāo)記被選中的子菜單項(xiàng)*/int DealConInput(HOT_AREA *phot_area, int *pihot_num); /*控制臺(tái)輸入處理*/void SetHotPoint(HOT_AREA *phot_area, int hot_num); /*設(shè)置熱區(qū)*/void RunSys(TYPE_NODE *pphd); /*系統(tǒng)功能模塊的選擇和運(yùn)行*/BOOL ExeFunction(int main_menu_num, int sub_menu_num); /*功能模塊的調(diào)用*/void CloseSys(TYPE_NODE *phd); /*退出系統(tǒng)*/void gotoxy(int x, int y);BOOL LoadData(void); /*數(shù)據(jù)加載*/BOOL SaveData(void); /*保存數(shù)據(jù)*/BOOL Input(void); /*數(shù)據(jù)輸入*/BOOL BackupData(void); /*備份數(shù)據(jù)*/BOOL RestoreData(void); /*恢復(fù)數(shù)據(jù)*/BOOL ExitSys(void); /*退出系統(tǒng)*/BOOL HelpTopic(void); /*幫助主體*/BOOL AboutDorm(void); /*關(guān)于系統(tǒng)*/BOOL MaintainTypeInfo(void); /*維護(hù)服裝分類信息*/BOOL MaintainCloInfo(void); /*維護(hù)服裝基本信息*/BOOL MaintainSellInfo(void); /*維護(hù)服裝銷售信息*/CLO_NODE *SeekCloNode(TYPE_NODE *hd, char *name); /*查詢服裝基本信息對(duì)應(yīng)結(jié)點(diǎn)*/BOOL QueryTypeInfo(void); /*查詢服裝分類信息*/BOOL QueryCloInfo(void); /*查詢服裝基本信息*/BOOL QuerySellInfo(void); /*查詢服裝銷售信息*/BOOL StatType(void); /*統(tǒng)計(jì)各類服裝銷售情況*/BOOL StatYear(void); /*年銷售量統(tǒng)計(jì)*/BOOL StatKehu(void); /*客戶信息統(tǒng)計(jì)*/BOOL StatSeason(void); /*季度銷售統(tǒng)計(jì)*/BOOL StatAverage(void); /*按式樣進(jìn)行統(tǒng)計(jì)*/BOOL SaveSysData(TYPE_NODE *phd); /*保存系統(tǒng)數(shù)據(jù)*/BOOL BackupSysData(TYPE_NODE *phd, char *filename); /*備份系統(tǒng)數(shù)據(jù)*/BOOL RestoreSysData(TYPE_NODE *pphd, char *filename); /*恢復(fù)系統(tǒng)數(shù)據(jù)*/BOOL ShowModule(char *pString, int n);void Insert(int n); /*數(shù)據(jù)插入*/void Seek(int n,char *s); /*數(shù)據(jù)查找*/void Dele_info(int n); /*數(shù)據(jù)刪除*/void Modify_info(int n); /*數(shù)據(jù)修改*/void Seek_Clo_Name(TYPE_NODE *head) ; /*根據(jù)服裝名稱子串查詢*/void Seek_IDPrice(TYPE_NODE *head); /*根據(jù)服裝分類碼和單價(jià)查詢*/void Seek_Sell_Name(TYPE_NODE *head); /*根據(jù)客戶名稱和銷售日期查詢*/void Seek_Sell_NamePj(TYPE_NODE *head); /*根據(jù)服裝名稱和評(píng)價(jià)指數(shù)查詢*/void State_Type(TYPE_NODE *head); /*統(tǒng)計(jì)各類古裝銷售情況*/void State_Kehu(TYPE_NODE *head); /*客戶信息統(tǒng)計(jì)*/void State_Spring(TYPE_NODE *head); /*統(tǒng)計(jì)春季銷售情況*/void State_Summer(TYPE_NODE *head); /*統(tǒng)計(jì)夏季銷售情況*/void State_Autumn(TYPE_NODE *head); /*統(tǒng)計(jì)秋季銷售情況*/void State_Winter(TYPE_NODE *head); /*統(tǒng)計(jì)冬季銷售情況*/void State_Year(TYPE_NODE *head); /*年銷售統(tǒng)計(jì)*/void State_Shiyang(TYPE_NODE *head); /*統(tǒng)計(jì)各種式樣銷售信息*/void CLO_PJ(TYPE_NODE *head); /*計(jì)算服裝評(píng)價(jià)指數(shù)*/#endif /* TYPE_H_INCLUDED*/main.c#include qjy.hint main() COORD size = SCR_COL, SCR_ROW; /*窗口緩沖區(qū)大小*/ gh_std_out = GetStdHandle(STD_OUTPUT_HANDLE); /* 獲取標(biāo)準(zhǔn)輸出設(shè)備句柄*/ gh_std_in = GetStdHandle(STD_INPUT_HANDLE); /* 獲取標(biāo)準(zhǔn)輸入設(shè)備句柄*/ SetConsoleTitle(gp_sys_name); /*設(shè)置窗口標(biāo)題*/ SetConsoleScreenBufferSize(gh_std_out, size); /*設(shè)置窗口緩沖區(qū)大小80*25*/ LoadData(); /*數(shù)據(jù)加載*/ InitInterface(); /*界面初始化*/ RunSys(&gp_head); /*系統(tǒng)功能模塊的選擇及運(yùn)行*/ CloseSys(gp_head); /*退出系統(tǒng)*/ return 0;/* * 函數(shù)名稱: ClearScreen * 函數(shù)功能: 清除屏幕信息. * 輸入?yún)?shù): 無(wú) * 輸出參數(shù): 無(wú) * 返 回 值: 無(wú) * * 調(diào)用說(shuō)明: */void ClearScreen(void) CONSOLE_SCREEN_BUFFER_INFO bInfo; COORD home = 0, 0; unsigned long size; GetConsoleScreenBufferInfo( gh_std_out, &bInfo );/*取屏幕緩沖區(qū)信息*/ size = bInfo.dwSize.X * bInfo.dwSize.Y; /*計(jì)算屏幕緩沖區(qū)字符單元數(shù)*/ /*將屏幕緩沖區(qū)所有單元的字符屬性設(shè)置為當(dāng)前屏幕緩沖區(qū)字符屬性*/ FillConsoleOutputAttribute(gh_std_out, bInfo.wAttributes, size, home, &num_written); /*將屏幕緩沖區(qū)所有單元填充為空格字符*/ FillConsoleOutputCharacter(gh_std_out, , size, home, &num_written); return;/* * 函數(shù)名稱: ShowMenu * 函數(shù)功能: 在屏幕上顯示主菜單, 并設(shè)置熱區(qū), 在主菜單第一項(xiàng)上置選中標(biāo)記. * 輸入?yún)?shù): 無(wú) * 輸出參數(shù): 無(wú) * 返 回 值: 無(wú) * * 調(diào)用說(shuō)明: */void ShowMenu() CONSOLE_SCREEN_BUFFER_INFO bInfo; CONSOLE_CURSOR_INFO lpCur; COORD size; COORD pos = 0, 0; int i, j; int PosA = 2, PosB; char ch; GetConsoleScreenBufferInfo(gh_std_out, &bInfo ); size.X = bInfo.dwSize.X; size.Y = 1; SetConsoleCursorPosition(gh_std_out, pos); for (i=0; i 5; i+) /*在窗口第一行第一列處輸出主菜單項(xiàng)*/ printf( %s , ga_main_menui); GetConsoleCursorInfo(gh_std_out, &lpCur); lpCur.bVisible = TRUE; SetConsoleCursorInfo(gh_std_out, &lpCur); /*隱藏光標(biāo)*/ /*申請(qǐng)動(dòng)態(tài)存儲(chǔ)區(qū)作為存放菜單條屏幕區(qū)字符信息的緩沖區(qū)*/ gp_buff_menubar_info = (CHAR_INFO *)malloc(size.X * size.Y * sizeof(CHAR_INFO); SMALL_RECT rcMenu = 0, 0, size.X-1, 0 ; /*將窗口第一行的內(nèi)容讀入到存放菜單條屏幕區(qū)字符信息的緩沖區(qū)中*/ ReadConsoleOutput(gh_std_out, gp_buff_menubar_info, size, pos, &rcMenu); /*將這一行中英文字母置為紅色,其他字符單元置為白底黑字*/ for (i=0; iAttributes = BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED; ch = (char)(gp_buff_menubar_info+i)-Char.AsciiChar); if (ch = A & ch = a & ch Attributes |= FOREGROUND_RED; /*修改后的菜單條字符信息回寫到窗口的第一行*/ WriteConsoleOutput(gh_std_out, gp_buff_menubar_info, size, pos, &rcMenu); COORD endPos = 0, 1; SetConsoleCursorPosition(gh_std_out, endPos); /*將光標(biāo)位置設(shè)置在第2行第1列*/ /*將菜單項(xiàng)置為熱區(qū),熱區(qū)編號(hào)為菜單項(xiàng)號(hào),熱區(qū)類型為0(按鈕型)*/ i = 0; do PosB = PosA + strlen(ga_main_menui); /*定位第i+1號(hào)菜單項(xiàng)的起止位置*/ for (j=PosA; jPosB; j+) gp_scr_attj |= (i+1) 2; /*設(shè)置菜單項(xiàng)所在字符單元的屬性值*/ PosA = PosB + 4; i+; while (i5); TagMainMenu(gi_sel_menu); /*在選中主菜單項(xiàng)上做標(biāo)記,gi_sel_menu初值為1*/ return;/* * 函數(shù)名稱: TagMainMenu * 函數(shù)功能: 在指定主菜單項(xiàng)上置選中標(biāo)志. * 輸入?yún)?shù): num 選中的主菜單項(xiàng)號(hào) * 輸出參數(shù): 無(wú) * 返 回 值: 無(wú) * * 調(diào)用說(shuō)明: */void TagMainMenu(int num) CONSOLE_SCREEN_BUFFER_INFO bInfo; COORD size; COORD pos = 0, 0; int PosA = 2, PosB; char ch; int i; if (num = 0) /*num為0時(shí),將會(huì)去除主菜單項(xiàng)選中標(biāo)記*/ PosA = 0; PosB = 0; else /*否則,定位選中主菜單項(xiàng)的起止位置: PosA為起始位置, PosB為截止位置*/ for (i=1; inum; i+) PosA += strlen(ga_main_menui-1) + 4; PosB = PosA + strlen(ga_main_menunum-1); GetConsoleScreenBufferI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論