




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、最新資料推薦0 / 23軟件綜合設計家譜管理系統院系:計算機科學技術學院二系班級:計11 - 2班姓名:劉文秀(15)合作者:姜雪(05)、岳奉宜(33)指導教師:薛曼玲2013年12月01日最新資料推薦/ 23目:家譜管理系統軟件綜合設計任務書二、設計要求(1)劉文秀(組長)、姜雪和岳奉宜組成課程設計小組。(2)小組成員分工協作完成。要求每個成員有自己相對獨立的模塊,同時要 了解其他組員完成的內容。(3)查閱相關資料,自學具體課題中涉及到的新知識。(4)采用結構化、模塊化程序設計方法設計,功能要完善,界面美觀。(5)所設計的系統應有菜單、動畫和音樂。(6)按要求寫出課程設計報告,并于設計結束
2、后1周內提交。其主要內容包 括:封皮、課程設計任務書,指導教師評語與成績、目錄、概述、軟件需求分析、 總體設計、詳細設計、程序的調試與測試、總結與體會、結束語、程序清單(帶中 文注釋)、參考文獻等。報告一律用A4紙打印,正文的中文字體為宋體,西文字體 用Time New Roma, 一律用小四號字,行距采用“固定值” 18磅,首行縮進2字符。 1級標題中文字體為黑體,西文字體為Time New Roma,采用三號字;段落為居中、 段前18磅、段后12磅、行距采用“固定值” 18磅,首行縮進:無,段中不分頁, 與下段同頁。僅一級標題上目錄。三、課程設計工作量由于是設計小組團結協作完成設計任務,一
3、般每人的程序量在400行有效程序 行以上,不得抄襲。四、課程設計工作計劃2013年12月2日,指導教師講課,學生根據題目準備資料,需求分析;2013年12月3日,設計小組進行總體方案設計和任務分工;2013年12月4日2013年12月10 B,每人完成自己承擔的程序模塊并通過 獨立編譯;2013年12月11日12日,將各模塊集成為一個完整的系統,并錄入足夠的 數據進行調試運行;2013年12月13 0,驗收、開始撰寫課程設計報告;2013年12月18日前,提交課程設計報告和軟件。指導教師簽章:教研室主任簽章/ 23頁二”:廳資空世程,,.晉”,,.工頁斗,.二y指導教師評語與成績指導教師評語:
4、課程設il驗收成績:課程設il報告成績:課程設計總成績:指導教師簽章年 月 日1 / 23目 錄第1章概述01.1課題研究的目的和技術發展現狀01.2課題研究的主要內容01. 3課題研究的難點0第2章需求分析02. 1性能需求02.2功能需求0第3章可行性分析13. 1經濟可行性分析13. 2技術可行性分析1第4章概要設計14. 1程序設計的基本思想14.2總體功能模塊圖14. 3相關應用技術2第5章詳細設計25.1日期信息的合法性檢驗25.2添加成員孩子模塊45. 3添加成員兄弟模塊65.4按照出生日期對家譜排序85. 5由兄弟、孩子二叉樹生成家譜文件105.6按照姓名、出生日期查找家譜成員
5、口第6章 調試分析與測試結果126. 1測試方法126. 2測試過程126. 3測試結論13第7章結束語17參考文獻17附錄170 / 231.1課題研究的目的和技術發展現狀本家譜管理系統是以電子家譜的形式記載父系家族世襲、人物為中心。 電子能準確記錄家族成員岀生卒年,以及生活地點、家庭成員等信息。一般情況 下是不會出現信息丟失情況。更不需要擔心傳統家譜隨著年代的久遠字跡不清 晰,有破損等情況的出現。所以本課題的研究U的是讓大家不但能夠非常容易的 記錄家族情況,而且能清楚的了解本家族信息,使用起來非常方便?,F有的計算 機技術足以支撐電子家譜的開發。家譜的科學管理不但有助于民族文化和地方文 化的
6、發展,而且有其自身的積極意義。例如本電子家譜是利用Visval C+ 6.0 開發完成的。電子家譜的出現無疑讓家譜煥然一新,但是傳統家譜更能凸顯出歷 史的韻味,文化的內涵。這是電子家譜所不能夠替代的,電子家譜不可能成為文 物。開發人員應該清楚的認識到這一點。1.2課題研究的主要內容家譜,又稱族譜、祖譜、宗譜等。一種以表譜形式,記載一個以血緣關系為 主題的家族世系繁衍。本課題研究的主要內容是以電子家譜的形式記錄、查詢父 系家族歷史信息為主要內容。1. 3課題研究的難點建立輸入文件以存放最初家譜中各成員的信息,以及能夠對修改后的家譜存 盤以備以后使用。用戶界面的設計不夠完美。功能上的設計難度很大。
7、第2章需求分析2.1性能需求系統的核心是利用對話框的連接和文本處理來存儲和修改家族管理系統的 信息聯系,其中的每一個動作都可能影響到其他的功能。使用方便,易于傳播, 數據共享等性能。易于維護。2. 2功能需求建立輸入文件以存放最初家譜中各成員的信息。成員的信息中均應包含以下內容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡)也可附加 其它信息、但不是必需的。能對修改后的家譜存盤以備以后使用。能從文件中讀出已有的家譜,形成樹狀關系。家譜建立好之后,以圖形方式顯示出來。顯示第n代所有人的信息。按照姓名查詢,輸出成員信息(包括其本人、父親、孩子的信息)。按照出生日期查詢成員名單。1 /
8、23輸入兩人姓名,確定其關系。某人添加孩子。刪除某人(若其還有后代,則一并刪除)。修改某人信息。按出生日期對家譜中所有人排序。打開一家譜時,若家譜中某人的生日在打開家譜的那一天,應給出提示。第3章可行性分析3.1經濟可行性分析對系統開發規模進行估算屬此軟件項LI屬于小規模軟件開發。所以開發人員 三到五人即可。開發,維護等成本相對較低。所以從經濟可行性分析的角度來看 此家譜管理系統適于開發。3. 2技術可行性分析根據軟件系統功能、性能要求的各項約束條件從技術的角度實現系統的可行 性。家譜信息以樹的形式一次讀入內存,而個人的各種資料雖然LI前條口不多, 但隨著程序的升級,以后可能越來越大。我把樹形
9、結構和個人信息記錄的文檔分 為兩個文件保存在外存中,一個文件串行化的記錄家譜樹的結構化信息,保持少 量個人信息作為識別標志;另一個文檔保存完整的個人信息。索引時,以樹形中 的少量信息為依據在另一個文件中找到全部個人信息資料。第4章概要設計4.1程序設計的基本思想家譜管理系統的總體設計思路是先為程序搭建好一個人結構框架,家庭 成員之間的關系,用樹形結構(家族樹)表示,這是本家譜管理系統的邏輯 結構。根據MFC的特點,釆用CfamilytreeDlg類實現用戶窗口界面指令對于家 譜的各種操作。有文件控制和家譜控制兩大模塊,按生日查找、刪除成員、文件 輸入輸出、修改成員信息、按名字查找、成員關系顯示
10、、按代數顯示等各種操作。 然后再根據需求分析逐步增強程序的功能和性能。4. 2總體功能模塊圖最新資料推薦2 / 23新建家諄保存家普M家躋3 刪除該人增加孩齊更改資粗某代信息按融名查攙4 確定關系出生日排辰按生日查按4. 3相關應用技術1.定義“家譜”類型2.用結構Date存儲日期3.用結構QuickSortNode存儲快速排序數組值(為快速排序而設)4.根據家譜的特點,采用孩子-兄弟的二義樹鏈表表示法(鏈表的基本單位為 以結構P ersonNode表示的結點),各種操作以COperationFamilytree類來 實現。5.根據MFC的特點,采用CfamilytreeDlg類實現用戶窗口界
11、面指令對于家譜 的各種操作。第5章詳細設計5.1日期信息的合法性檢驗家譜管理系統0最新資料推薦3 / 23死亡曰朗卜圖5-1日期信息的合法性檢査IntCOperationFamilytree:ReadNode(FILE*fp, Person &T, char*parentname)/本函數從文件fp中讀取信息到結點T中,并讀取結點的父親名字到字符數組 parentname 中分別讀取結點值,為:姓名,出生日期(年,月,日),婚否,地址,健在否,(如過世, 還有死亡日期)fscanf (fp,,z%s%d%d%d%d%s%d,z, T-info. name, &T-info. birthday.
12、 year, &T-in fo. birthday. month,&T-info. birthday. day, &T-info. marry, T-info. addr, &T-info. live);if (T-info. live=O)4 / 23fscanf (fp, z/%d%d%d,z, &T-info. deathday. year, &T-info. deathday. month, &T-info. deathday. day);fscanf (fp, parentname);if (! IsDateValid(T-info. birthday) /出生日期合法性檢查 ret
13、urnFILE DATA NOT PRACTICAL;辻(T-info. live-0)/若過世,死亡日期合法性檢查if (!IsDateValid(Tinfo. deathday)returnFILE DATA NOT PRACTICAL;return OK;5. 2添加成員孩子模塊圖5-2添加成員孩子流程圖Int COperationFamilytree::CreateFamilytree(CString filename) /本函數建立一新家譜DestroyFamilytree() ;/建立一新家譜之前,清空原有家譜FILE* fp;辻(fp=fopen(f訂ename, r)=0)/打
14、開文件 filenamereturn READ FILE ERROR;T二new PersonNode;/定義根結點辻(return NOT ENOUGH MEMORY;T-child=0;T-sibling=O;Tparent=O;5 / 23Person parentT, temp;/定義兩個臨時結點char parentname MAX_CHARNUM; /定義一個臨時字符串數組讀取根結點值,(姓名,出生日期(年,月,日),婚否,地址,健在否,(如過世,還有 死亡日期) int result;result二ReadNode(fp, T, parentname);辻(result=FILE
15、_DATA_NOT_PRACTICAL) delete T; 若不合法,刪除申請的堆空間T二0;return result;if (strcmp (Tinfo. name, parentname) =0) 根結點名字與其父親名字相同,說明為空樹delete T;T二0;return PEDIGREE_EMPTY;temp二new PersonNode;/申請一結點if (! temp) /申請失敗DestroyFami lytree () ;/釋放申請空間return NOT ENOUGH MEMORY;result=ReadNode(fp, temp, parentname);while(s
16、trcmp(temp-info. name, parentname)&strcmp(temp-info. name, end )/讀取信息結束的條件是兩個人的名字同為end辻(result=FILE_DATA_NOT_PRACTICAL) 若數據不合法,釋放乙申請空間,然后返回delete temp;DestroyFamilytree();return result;parentT=0;Find (T, parentT, parentname) ;/找到 parentname 所在結點 parentT辻(parentT) /如果parentT存在,說明parentname在家譜中/并且pare
17、ntname為temp的父親int cmp;cmp=CompareDate(temp-info. birthday, parentT一info. birthday);辻(cmpchild=temp-sibling=O; temp-parent=parentT: /temp 的父扌旨針扌旨向 parentT; if (parentT-child) /parentname 已經有孩子 InsertSibling (parentT-最新資料推薦6 / 23chiId, temp);/ifelse/par entname 無孩子,則 temp 應為 parentT-child=temp:/parent
18、name 的第一個孩子/ifelse/parentT不存在,說明家譜中不存在parentname此人DestroyFami lytree () ; /返回出錯信息return FILE DATA ERROR;temp=new PersonNode;/申請一結點if (! temp) /申請失敗DestroyFamilytree () ;/釋放申請空間return NOT ENOUGH MEMORY;resultReadNode (fp, temp, parentname) ;/繼續讀取數據 /while if (temp)delete temp;fclose(fp);return OK;5.3
19、添加成員兄弟模塊最新資料推薦7 / 23輸入的成員出士圖5-3添加成員兄弟模塊void SaveNode(FILE *fp, Person &pNode)/本函數向文件fp中存取一結點pNodechar ch二rf ;if(pNode)fprintf (fp, z,%s%d%d%d%d%s%d、pNode一info. name, pNode一info. birthday. year,pNode一info. birthday. month, pNode一info. birthday. day, pNode一info. marrypNode一info. addr, pNode-info. live
20、);if (pNodeinfo. liveO)fprintf(fp, %d%d%d、pNode一info. deathday. year, pNode一info. deathday. month,pNode一info. deathday. day); if(pNode-parent)家譜結束fprintf(fp, %s 、pNode-parent-info. name);elsefprintf (fp, %s, T);fprintf(fp, %c, ch);最新資料推薦8 / 23voidint COperationFamilytree::SaveFamilytree(CString file
21、name)/本函數保存家譜到文件filename中FILE* fp;if (fp=fopen(filename, w) )=0)/打開文件 filename return WRITE FILE ERROR:PreOrderTraverse (fp, T, SaveNode) ;/從根結點開始存儲家譜數據 /置家譜數據結束標記(一結點的名字與其父結點的名字同為end) fprintf(fp, %s %d %d %d %d %s %d %s, end, 1999, 12,2, 1, end, 1, end);fclose(fp);return OK;void COperationFamilytre
22、e:PreOrderTraverse(FILE* fp, Person &T,(_cdecl *Visit)(FILE* fp, Person &)本函數把所有以T結點為根結點的結點值存到文件fp中 if(T)(*Visit)(fp, T);PreOrderTraverse(fp, T-child, Visit);PreOrderTraverse(fp, T-sibling, Visit);5.4按照出生日期對家譜排序void CFamilytreeDlg:OnFamilytreeSort ()/ TODO: Add your command handler code hereRefreshL
23、ist ();QuickSortNode* order;int totalNums=0;operFamilytree GetPersonNums(operFamilytree GetRoot(), totalNums) order=new QuickSortNode LtotalNums+lZ;if (!order)AfxMessageBox (“ 內存不足!);return;AfxMessageBox (z/排序后結果請見下部列表。); operFamilytree SortByBirthday(order);for(int i=l:itotalNums+l;i+)DisplaylnList
24、Ctrl(orderi oneself);delete LZorder;void COperationFamilytree:SortByBirthday(QuickSortNode *order)9 / 23本函數對順序表order以出生日期的大小排序int totalNums=0;QuickSortNode* startaddr=order;startaddr+;GetPersonNums(T, totalNums);CopylnfoFromBiTreeToArray(T, startaddr);Quicksort(order, 1, totalNums);int COperationFam
25、ilytree:Partition(QuickSortNode *order, int low, int high)本函數供Quicksort函數調用/交換順序表order中從low到high的記錄,便樞軸記錄到位,并返回其所在 位置,此時在它之前(后)的記錄均不大(小)于它order 0二order low ; /用子表的第一個記錄做樞軸記錄Date pivotkey 二 order low:. birthday;/樞軸記錄關鍵字while(1 owhigh) /從表的兩端交替地向中間掃描while(lowhigh&(CompareDate(orderhighj birthday, pivo
26、tkey)=1CompareDate(orderhigh birthday, pivotkey)=0)-high;order low =order high ;/將比樞軸記錄小的記錄移到低端order low. birthday=order high. birthday; /樞軸記錄到位orderlow. oneselfLorderhigh oneself;while (lowhigh&(CompareDate (order low. birthday, pivotkey) =TCompareDate(orderlow!. birthday, pivotkey)=0)+low;order hi
27、gh =order low;/將比樞軸記錄大的記錄移到高端order low =order0 ;/樞軸記錄到位return low;/返回樞軸位置void COperat ionFamilytree: : Quicksort (QuickSortNode border, int low, int high)/本函數對順序表order low. high作快速排序int pivotloc;if (lowchild, personNums) ;/遞歸調用GetPersonNums(Tsibling, personNums);voidCOperationFdmilytree:CopylnfoFrom
28、BiTreeToArray(Person&T,QuickSortNode *&order)本函數先序遍歷以T為根結點的所有結點,并把每一個結點的出生日期信息及 其指針值/依次存入順序表order中辻(T)(order). birthday=T-info. birthday;(*order). oneself二T;order+;CopylnfoFromBiTreeToArray(T-chiId, order);CopylnfoFromBiTreeToArray(T-sibling, order);5. 5由兄弟、孩子二叉樹生成家譜文件void SaveNode(FILE *fp, Person
29、&pNode)/本函數向文件fp中存取一結點pNodechar ch二n,;if(pNode)fprintf (fp, z/%s %d %d %d %d %spNode一info. name, pNode-info. birthday. year,pNode一info. birthday. month, pNode一info. birthday. day, pNode一info. marrypNode一info. addr, pNode一info. live);11 / 23if (pNode-info. live=0)fprintf(fp, %d%d%d”、pNode一info. death
30、day year, pNode一info. deathday month, pNodeinfo. deathday. day);if (pNode-parent)家譜結束fprintf(fp, %s ”,pNode-parent-info, name);elsefprintf (fp, %s,/, T);fprintf(fp, %c, ch);int COperationFamilytree:SaveFamilytree(CString filename)本函數保存家譜到文件filename中FILE* fp;if (fp=fopen(f訂ename, w)=0)打開文件 filenamere
31、turn WRITE FILE ERROR:MMPreOrderTraverse (fp, T, SaveNode) ;/從根結點開始存儲家譜數據/置家譜數據結束標記(一結點的名字與其父結點的名字同為end) fprintf(fp, %s %d %d %d %d %s %d %s, end, 1999, 12,2, 1, end, 1, end);fclose(fp);return OK;void COperationFamilytree::PreOrderTraverse(FILE* fp, Person &T, void (_cdecl *Visit)(FILE* fp, Person &
32、)本函數把所有以T結點為根結點的結點值存到文件fp中辻(T)(Visit)(fp, T);PreOrderTraverse(fp, T-child, Visit);PreOrderTraverse(fp, T-sibling, Visit);5.6按照姓名、出生日期査找家譜成員void COperationFamilytree:Find(Person& T, Person& Tname, char* name)本函數以T為根結點開始,搜索結點信息中名字等于name的結點辻(T) 如果T存在12 / 23if (strcmp(T-info. name, name) =0)/T 結點姓名和 nam
33、e 相同,把 T 結點指針 傳給TnameTname=T;elseFind(T-sibling, Tname, name) ;/對 T 的兄弟遞歸搜索Find(T-child, Tname, name); 對 T 的孩子遞歸搜索void COperationFdm訂ytree: : Find (Person &T, Person*& Tname, int month, int day)本函數以T為根結點開始,搜索結點信息中生日等于month, day的結點, 并把所有符合條件的結點指針值存入以Tname為起始地址的地址數組中 if(T)如果T存在if(Tinfo. birthday. mont
34、h=month&T-info. birthday, dayday) /T結點生日與所給相同,把T結點指針傳給Tname,同時Tname指針前進 *Tname=T;Tname+;else Find(T-sibling, Tname, month, day) ;/對 T 的兄弟遞歸搜索 Find(T-child, Tname, month, day); 對 T 的孩子遞歸搜索 第6章調試分析與測試結果6.1測試方法該課程設計只有一個主要類,即對孩子一一兄弟二叉樹的操作類。該類主要 包括文件讀取函數、創建孩子一一兄弟二叉樹函數、在樹中查找函數、遍歷函數 以及對樹中結點進行加入、刪除、修改的函數。山于
35、樹存儲結構的特殊性,故編 制這些算法時大量使用了遞歸,雖然這樣做可能會降低程序的執行效率,但程序 的易讀性較強。6.2測試過程在調試時,遇到的兒個問題如下:(1)建立樹時,由于新申請結點的孩子指針、兄弟指針、及雙親指針均未 賦空值。而在以后的函數中對樹進行遞歸操作時均以這些指針值中的一 個或兒個是否為空作為遞歸結束條件。從而導致調用這些函數時出現系 統保護異常(使用了不安全的指針)。(2)剛開始刪除結點時,只考慮到刪除其本身結點的情況,而刪除其孩子 結點的惜況未考慮到,故在刪除某些結點時使樹出現了 “斷鏈”現象。 13 / 23故在程序代碼中對刪除某一結點進行操作時,首先要判斷此結點是否有 孩
36、子及兄弟,然后進行相應操作。14 / 233M李玲岀生日期1418璉世否 死亡日期摂子數呂19338282弄行(3)剛開始進行程序概要設il時,曾考慮到用控制臺下的文本方式作為程 序界面,實際操作后發現并不理想。一方面字符形式的界面友好性較差, 另一方面顯示整個家譜樹的信息時不方便。故考慮用VC+中MFC類自帶 的樹型控件顯示家譜層次,而用列表控件顯示家譜中的信息。用后效果 不錯。6.3測試結論訊掰該人就資糾斑代信息扌翅觀名査找確定兩人關系出生曰期悴序挨照生日直找(1)按下按鈕“打開家譜篤打開一個家譜文件(水ftf)SfipiMenu)文件探作最新資料推薦15 / 23SPfMeru)文件剰乍
37、翱冢譜最新資料推薦(2)按下按鈕“新建家譜”,新建一個家譜文件(水ftf)(3)按下按鈕“保存家譜”,將修改過的家譜保存(4)按下按鈕“另存家譜”,將修改過的家譜另存為一個家譜文件(水.ftf)(5)按下按鈕“刪除該人”,將樹型控件中選中的成員及其后代刪除衣洗珈疣L昱rK(gu=李擔李佰 習李明田至華出生日期1廻否it!址郵21死亡日期技孑數徘行1妙W免吉柿韜邑醫無11另徉魏某代信息懈生曰萱拚弄行獨名出打開冢譜漩冢譜保存冢譜杲書信息16 / 23(6)按下按鈕“增加孩子S給樹型控件中選中的成員增加一個孩子最新資料推薦17 / 23(7)按下按鈕“更改資料S更改樹型控件中選中的成員的資料(8)按
38、下按鈕“按照姓名查找S將家譜中特定名字的成員的信息顯示在列表控 件中最新資料推薦18 / 23李強i日卑偉宙李用曲李華出生日期1956-5-4哀件揀作更改資料杲代信息出生日期排序按照生日直找1,劃1L I 號衣否 丨死亡曰期 古jfoi邑區是孩子數排行日李強白孚亮1白孚偉李侑7 E李明由李華文件操作打開期家譜腔制躺該人協箋姓盛拱新逮冢譜保存尿譜另存莠語増加孩子更改資料某代信慝確定利人X系業日期排序轉生日查拱1_書疋是養S區區區區區區 宴翼陽產r 序Trw=電rr滋R 市.市市帀市増 吉古亡吉古m裁追聳駆統I 菜單(Menu)(9)按下按鈕“確定兩人關系S將家譜中某兩人的關系顯示出來(10)按下
39、按鈕“出生日期排序”,將家譜中的所有成員按出生日期排序并 顯示在列表控件中出生日期1945-12-91946-9-10 196654I)(11)按下按鈕“按照生日查找S將家譜中特定日期出生的成員的信息 顯示在列表控件中(12)選擇菜單項H “關于”,顯示該程序的版權信息(13)選擇菜單項H “退出m結束該程序的運行劉文秀姜雪邑奉宣丄Y Y 不叵迢創打開家諾最新資料推薦19 / 23謝朗本胡!曰瑋們對于MFCMFC類的開軸驗不足.BUGBUG淮免有之r還請 多多包逐;)確走第7章結束語通過這次大作業,體會很深刻,將一直以來學到的東西都運用到實際上來,學以 致用,對所學知識有了更深刻的理解,同時還發現了許多平時在書本上沒有遇見 過的問題,促進了自己對知識的渴望,遇見了問題,就希望能夠通過查找課外書 來解決它們。剛接觸題目的時候,自己就有了一定的想法,覺得這個程序做起來 是問題不大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 粵菜館合伙經營合同10篇
- 貨物運輸車輛租賃合同范本(2025版)-@-1
- 餐飲總經理聘用合同(2025版)
- 閣樓買賣合同協議書(2025版)
- 銷售合同簡單范本(2025版)
- 餐飲場地出租合同(2025版)
- 電線電纜供貨合同
- 2025年普通高等學校招生全國統一考試數學模擬試題(五)(含答案)
- 鐵路旅客運輸服務鐵路客運列車服務工作課件
- 投資房購房合同
- 輸配電線路防火應急預案
- 基樁高應變動力檢測作業指導書
- 預防性侵害和性騷擾
- 《影視藝術鑒賞》課件
- 資產管理辦法培訓課件
- 公司網絡優化方案
- 一例胸痹病人的護理查房
- 三一掘進機技術維修方案-新疆永寧煤業
- 廣東異地就醫備案授權委托書范本
- 《肉牛養殖項目商業計劃書》
- 繪本故事:睡睡鎮
評論
0/150
提交評論