- 218
- 0
- 约7.85千字
- 约 8页
- 2016-03-13 发布于安徽
- 举报
数据结构大作业(家谱管理系统).doc
序號 1
2010-2011學年度第一學期大作業
?
?
課程名稱: 數據結構
任課教師: 李合龍
作業題目: 家譜管理系統設計與實現
姓 名: 潘應妙
學 號: 201004953013001
專 業: 計算機科學與技術
教學中心: 珠海教學辦
聯繫電話: 0085366694440
?
?
?
?
?
評審日期__________成績_________評審教師(簽名)__________
華南理工大學網路教育學院
一、需求分析
1. 建立輸入文件以存放最初家譜中各成員的資訊。
2. 成員的資訊中均應包含以下內容:
姓名、出生地、出生日期、性別、身高、學歷、職業、婚否、地址、健在否、死亡日期(若其已死亡)
3. 能對修改後的家譜存檔以備以後使用。
4. 能從文件中讀出已有的家譜,形成樹狀關係。
5. 家譜建立好之後,以圖形方式顯示出來。
6. 顯示第n代所有人的資訊。
7. 按照姓名查詢,輸出成員資訊(包括其本人、父親、孩子的資訊)。
8. 按照出生日期查詢成員名單。
9. 輸入兩人姓名,確定其關係。
10. 某人添加孩子。
11. 刪除某人(若其還有後代,則一併刪除)。
12. 修改某人資訊。
13. 按出生日期對家譜中所有人排序。
14. 打開一家譜時,若家譜中某人的生日在打開家譜的那一天,應給出提示。
二、概要設計
採用二叉樹進行家譜的管理、樹形控制項及列表控制項進行家譜的顯示。程式涉及以下三種類型,但基本操作均在“家譜”類型中。
1.定義“個人資訊”類型:
ADT Person{ 資料物件:D={Pj | Pj={姓名、出生日期、婚否、地址、健在否(如過世,還應有其死亡日期)},j=0,1,2,……n,其中n=0}
資料關係:R={}
基本操作:無。
}ADT Person
2.定義“家譜類型文件”類型ADT FamilytreeFile{ 資料物件:D={Aj | Aj屬於Person,j=1,2,3……,n其中n=1} 資料關係:D中每個物件用換行符隔開, R={ Aj,String | Aj屬於D,j=1,3,……,n其中n=1,String屬於字串類型,爲Aj父親姓名(若String=-1,Aj無父親,若String=Aj的姓名,表示家譜文件結束)}
基本操作:
1.打開家譜類型文件,並建立兄弟、孩子二叉樹。
2.從記憶體中讀取兄弟、孩子二叉樹,並建立家譜類型文件。
}ADT FamilytreeFlie3.定義“家譜”類型
ADT Familytree{ 資料物件:D={Aj | Aj屬於Person,j=1,2,3,……,n其中n=0}
資料關係:V={Aj-1,Aj | Aj-1,Aj屬於D,j=2,3,……n其中n=2,且Aj-1與Aj爲祖先與後代關係(parent)、後代與祖先關係(child)、兄弟之間關係(sibling)}
基本操作:
1.顯示某人資訊。
2.修改某人資訊。
3.增加某人孩子。
4.刪除某人。
5.通過某人查找其雙親、孩子、兄弟。
}ADT Familytree
三、詳細設計
1.定義“個人資訊”類型:
struct Info{
//一個人的有關資訊在記憶體中的存儲結構
char name[M
您可能关注的文档
最近下载
- (人教版)数学二年级上册寒假作业-2025年秋季版,30份题组.docx
- 12YJ5-1 平屋面参考图集.docx VIP
- 富邦生物(内蒙古)有限公司年产 500 吨多杀菌素项目环境影响报告书.pdf
- 金宝血滤机Prismaflex操作流程-CRRT.pptx VIP
- 药学专业毕业论文6000字.doc VIP
- 邓丽君经典老歌之不朽名曲专辑.doc VIP
- DB32T4122-2021开发区地质灾害危险性区域评估规范1.pdf VIP
- 光波导仿真:弯曲波导仿真_(5).不同弯曲半径对波导性能的影响.docx VIP
- 有限空间应急物资检查、维护、保养记录.doc VIP
- 《无线网络与移动通讯技术》教学大纲(模板).docx VIP
原创力文档

文档评论(0)