![大數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/1f844f97-4180-4eed-9a3b-20196fc302a1/1f844f97-4180-4eed-9a3b-20196fc302a11.gif)
![大數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/1f844f97-4180-4eed-9a3b-20196fc302a1/1f844f97-4180-4eed-9a3b-20196fc302a12.gif)
![大數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/6/1f844f97-4180-4eed-9a3b-20196fc302a1/1f844f97-4180-4eed-9a3b-20196fc302a13.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、寧波大紅鷹學(xué)院信息工程學(xué)院課程設(shè)計(jì)報(bào)項(xiàng)目名稱:家譜查詢系統(tǒng)項(xiàng)目組長(zhǎng):白鈺琦項(xiàng)目成員:徐程凱、徐海域、項(xiàng)鴻偉班級(jí)名稱:10計(jì)科1班專業(yè)名稱:計(jì)算機(jī)科學(xué)與技術(shù)完成時(shí)間:2012年12月1日信息工程學(xué)院制目 錄一、案例描述 -3 -1、總體描述-3 -2、模塊描述-4 -二、設(shè)計(jì)思路-5 -三、程序設(shè)計(jì) -5 -1、 數(shù)據(jù)結(jié)構(gòu)描述 -5 -2、 主函數(shù)及其流程圖 -6 -3、 源程序-7 -四、 調(diào)試與分析-7 -1、主菜單-.17.-2、顯示家譜信息 -.1.8 -3、顯示家譜中第 n代人所有信息 -.1 8 -4、按姓名查找某人并相應(yīng)輸出 -.1.8 -5、 按出生日期查找家譜成員信息 .錯(cuò)誤!
2、未定義書簽。6、為家譜中成員添加孩子信息 -.1.9 -7、 為家譜中成員添加妻子信息 錯(cuò)誤!未定義書簽。&刪除家譜中成員及其后代信息 .錯(cuò)誤!未定義書簽。9、 修改家譜中成員信息 .-.20 -10、 確定家譜中兩個(gè)成員關(guān)系 錯(cuò)誤!未定義書簽。11、按出生年月排序家譜 錯(cuò)誤!未定義書簽。五、設(shè)計(jì)總結(jié) -.20.-1、完成情況-.20.-2、心得體會(huì) 一、案例描述1、總體描述家譜管理系統(tǒng)是查詢家譜信息必不可少的一部分,利用家譜管理系統(tǒng)可 以清楚的查詢到家族成員的詳細(xì)信息。該家譜管理系統(tǒng)是通過樹來實(shí)現(xiàn)的。 本程序具有插入、查找等功能,可以實(shí)現(xiàn)存放家譜中各成員的信息。程序的 操作界面簡(jiǎn)潔美
3、觀,易于操作。本程序運(yùn)用了函數(shù)、循環(huán)、樹等知識(shí)來進(jìn)行設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)2、模塊描述1) .輸入文件以存放最初家譜中各成員的信息,成員的信息中均應(yīng)包含以下內(nèi)容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。2) .實(shí)現(xiàn)數(shù)據(jù)的存盤和讀盤。3) .以圖形方式顯示家譜。4) .顯示第n代所有人的信息。5) .按照姓名查詢,輸出成員信息(包括其本人、父親、孩子的信息)。6) .按照出生日期查詢成員名單。7) .輸入兩人姓名,確定其關(guān)系。8) .某成員添加孩子。9) .刪除某成員(若其還有后代,則一并刪除)。10) .修改某成員信息。11) .按出生
4、日期對(duì)家譜中所有人排序。12) .打開一家譜時(shí),提示當(dāng)天生日的健在成員。主程序模塊采單選擇模塊樹操作模塊圖1模塊調(diào)用示意圖二、設(shè)計(jì)思路本程序要求模塊化管理,分成菜單函數(shù)、創(chuàng)建函數(shù)、添加函數(shù)、查找函 數(shù)、控制各個(gè)部分從而將程序簡(jiǎn)單化出來分析。本程序的主要功能是:創(chuàng)建 數(shù)據(jù):創(chuàng)建各相關(guān)數(shù)據(jù),例如創(chuàng)建家譜信息。添加數(shù)據(jù):增加家譜成員孩子 信息。查詢信息:按照姓名來查詢成員信息,還可以通過輸入出生日期來查 詢?cè)摷易V信息。退出系統(tǒng):程序編譯結(jié)束后退出系統(tǒng)。三、程序設(shè)計(jì)1、數(shù)據(jù)結(jié)構(gòu)描述本程序首先定義了結(jié)構(gòu)體,定義了 lc, rc兩個(gè)指針域;定義如下:typedef struct BiTNodeint ma
5、rk;/ 標(biāo)記int level;char name50; 姓名char birthday50;生日char addressMAXN;住址int marriage;/ 婚否(true表示結(jié)婚,false表示沒結(jié)婚)int live;/建在(true表示活著,false表示過世)int sex;/性別(true表示男,false表示女)char livemassage50;死亡日期(如果其已經(jīng)死亡)Elemtype data;/struct BiTNode *lc,*rc;BiTNode,*BiTree;2、主函數(shù)及其流程圖3、源程序圖4創(chuàng)建家譜流程圖#in clude<stdio.h&g
6、t;#in clude<stri ng.h>#in clude<stdlib.h>#in clude<stri ng.h> typedef struct pnode char male10;char female10;int n;struct pnode *fchild,*brother;pno de,*ptree;void creatfamily(ptree ,FILE );void preorder(ptree p);void show(ptree p);in t Men u()system("color 1f");system(&q
7、uot;mode con: cols=76 lin es=35");int i;prin tf("*歡迎使用愛新覺羅家族管理系統(tǒng)* nn");printf("請(qǐng)選擇:n”);printf("n");printf("1.讀取一個(gè)家庭關(guān)系n");printf("n");printf("2.顯示個(gè)豕庭關(guān)系n );printf("n ”);printf("3.查找成員n");printf("n ”);printf("4.添加新成員n"
8、);printf("n");printf(”5.修改成員n");printf(”n ”);printf(”6.保存 n");printf(”n ”);printf(”7.退出系統(tǒng)nnn");printf(”n");printf(”*nn");printf(”輸入16之間的數(shù)字選擇相應(yīng)功能:”);scan f("%d",&i);return i;ptree creatfamily(FILE *fp)if(!feof(fp)ptree p;p=(ptree)malloc(sizeof(p no de)
9、;char fname10,m name10;int i;fscan f(fp,"%s %s %dn", fname,m name,&i);if(strcmp(fname," n")=0)&& (strcmp( mn ame," n")=0)&&(i=0)p=NULL;return p;elsestrcpy(p->male,fname); strcpy(p->female,m name); p-> n=i;printf(” 讀取成功 n”); p->fchild=crea
10、tfamily(fp); p->brother=creatfamily(fp); return p;void PreOrder(ptree p)if(p)show(p);PreOrder(p->fchild);PreOrder(p->brother);void show(ptree p)printf("名字 配偶第幾代n");prin tf("%2s %6s %dn",p->male,p->female,p-> n);void search(ptree p,char n ame)if(p)if(strcmp(p->
11、;male, name)=0)show(p);getchar();getchar();search(p->fchild, name); search(p->brother, name);void add(ptree p,char n ame)charfname10,m name10;int i;if(P)if(strcmp(p->male, name)=O)printf("名字配偶第幾代n"); scan f("%s %s %d",fname,m name, & i); p->fchild=(ptree)malloc(si
12、zeof(p no de); strcpy(p->fchild->male,fname); strcpy(p->fchild->female, mn ame); p->fchild->n=i;p->fchild->fchild=NULL; p->fchild->brother=NULL;add(p->fchild ,n ame);add(p->brother, name);void gai(ptree p,char n ame)charfname10,m name10;int i;if(P)if(strcmp(p->
13、male, name)=O)printf("名字配偶第幾代n"); scan f("%s %s %d",fname,m name,&i);strcpy(p->male,fname);strcpy(p->female,m name);p-> n=i;gai(p->fchild ,n ame);gai(p->brother, name);void save(ptree p,FILE *stream)if(p)fprintf(stream,"%s %s %d",p->male,p->fema
14、le,p->n);save(p->fchild,stream);save(p->brother,stream);elsechar out20 = "n n 0"fprin tf(stream,"%sn" ,out);int mai n() int status;char n ame10;ptree p;FILE *fp= fope n("lmx.txt","r+");while(1)status=Me nu();switch(status)case 1:p=creatfamily(fp);getc
15、har();getchar();break;case 2:PreOrder(p);getchar();getchar();break;case 3:printf("請(qǐng)輸入搜索的名字n");sca nf("%s", name);search(p ,n ame);break;case 4:printf("請(qǐng)輸入要孩子的人n");sca nf("%s", name);add(p ,n ame);break;case 5:printf("請(qǐng)輸入要修該的人n");sca nf("%s"
16、, name);gai(p, name);break;case 6:save(p,fp);getchar();getchar();break;case 7:printf("n感謝使用本系統(tǒng)n");fclose(fp);fclose(fp);exit(0);/如果選擇5,則退出循環(huán)終止程序break;default :printf("n您選擇有誤n");getchar();四、調(diào)試與分析1、主菜單N:學(xué)習(xí)燉據(jù)結(jié)構(gòu)家族管理-白鉉琦代碼.E畑XXMXK XXM""歡迎使用愛新覺羅家族管理系統(tǒng) 請(qǐng)選擇I諒取一個(gè)家庭關(guān)系2.顯示一個(gè)家庭關(guān)系 漢
17、查找咸員4 添抑新成員5 修改成員筑保存7一退岀系統(tǒng)輸入譏之間的數(shù)字選相應(yīng)功能'家譜管理系統(tǒng)的主界面2、顯示家譜信息讀取家譜信息匕巴厶冃仆3mA1取®取取 讀讀讀3、顯示家譜中第n代人所有信息配偶第幾代 '濟(jì)1配偶第幾代*二囈儷第幾代 配偶第幾代 無2入丄咒之間的數(shù)字選擇相應(yīng)功蝕2 空 II臨博爾字 L_燼赫舍里P字 -顯示家譜中第n代人所有信息4、按姓名查找某人并相應(yīng)輸出們?nèi)階15嚴(yán)111 冃E 二總?cè)闅诌x擇相應(yīng)功能第幾代查詢家譜成員信息的界面5、為家譜中成員添加孩子信息為家譜中成員添加孩子信息6、修改家譜中成員信息代幾4第五、設(shè)計(jì)總結(jié)1、完成情況Rn匕巴4目功應(yīng)
18、修改家譜中成員信息實(shí)驗(yàn)報(bào)告徐海域視頻制作白鈺琦整體完善11全體成員答辯全體成員2、心得體會(huì)白鈺琦:從這個(gè)項(xiàng)目中,我懂得了代碼編寫能力的提高不是一天兩天的事,而是一個(gè)日積月累的過程。在不斷地編寫調(diào)試,是在提出問題解決問題的過程中慢慢 提升起來的。所以,自己決定向編程高手看齊,多編程多提問多思考。在今后的 時(shí)間里更加努力地學(xué)習(xí)。徐程凱:在這個(gè)項(xiàng)目里我做了對(duì)家譜管理的系統(tǒng)分析。 剛開始我們從網(wǎng)上下載好 了我們需要的資料,通過取其精華去其糟粕,本來是想把系統(tǒng)整合的很完美,可 是由于我c語言基礎(chǔ)不太扎實(shí),未能完成。也向同學(xué)請(qǐng)教,只能做到現(xiàn)在這個(gè)地 步。通過這次課程設(shè)計(jì),我對(duì)這個(gè)樹的操作有了深刻的了解,對(duì)C語言也有了更深刻的了解。但我們需要更深刻地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省太原市2024-2025學(xué)年高二上學(xué)期期中考試物理試卷(解析版)
- 山東省濟(jì)寧市2024-2025學(xué)年高二上學(xué)期12月聯(lián)考物理試題(解析版)
- 遼寧省七校2024-2025學(xué)年高二上學(xué)期11月聯(lián)考(期中)物理試卷(解析版)
- 外研版高中英語選擇性必修第四冊(cè)UNIT1 Period7課件
- 身份證號(hào)碼變更申請(qǐng)書
- 咨詢繼續(xù)教育-《油氣管道工程項(xiàng)目可行性研究報(bào)告編制規(guī)定及評(píng)估重點(diǎn)》解
- 財(cái)產(chǎn)保全擔(dān)保申請(qǐng)書
- 2025年山東濰坊壽光林業(yè)生態(tài)發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年湖南張家界經(jīng)濟(jì)開發(fā)區(qū)開發(fā)建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- 電商平臺(tái)物流系統(tǒng)管理與運(yùn)營(yíng)分析
- 食品投訴處理培訓(xùn)課件
- 血液科品管圈PDCA案例合集
- 創(chuàng)傷患者護(hù)理和評(píng)估
- 【全套】醫(yī)院智能化系統(tǒng)報(bào)價(jià)清單
- 化工產(chǎn)品買賣合同
- 《詩經(jīng)(伐檀、無衣)》(同步練習(xí))-【中職專用】高一語文(高教版2023基礎(chǔ)模塊上冊(cè))
- 讀書分享讀書交流會(huì)《伊索寓言》課件
- 白酒銷售經(jīng)理述職報(bào)告
- 1到六年級(jí)古詩全部打印
- 消防技術(shù)負(fù)責(zé)人任命書
- 我見證改革開放三十年課件
評(píng)論
0/150
提交評(píng)論