數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第1頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第1頁(yè)。-14-#include<stdio.h>#include<string.h>數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第6頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第6頁(yè)。#include<string.h>typedefstructpnode{charmale[10];charfemale[10];intn;structpnode*fchild,*brother;}pnode,*ptree;voidcreatfamily(ptree,FILE);voidpreorder(ptreep);voidshow(ptreep);intMenu(){ system("color1f"); system("modecon:cols=76lines=35"); inti; printf("******************歡迎使用愛(ài)新覺(jué)羅家族管理系統(tǒng)*****************\n\n"); printf("請(qǐng)選擇:\n"); printf("\n");數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第7頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第7頁(yè)。 printf("\n"); printf("2.顯示一個(gè)家庭關(guān)系\n"); printf("\n"); printf("3.查找成員\n"); printf("\n"); printf("4.添加新成員\n"); printf("\n"); printf("5.修改成員\n"); printf("\n"); printf("6.保存\n"); printf("\n"); printf("7.退出系統(tǒng)\n\n\n"); printf("\n");數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第8頁(yè)。 printf("********************數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第8頁(yè)。 printf("輸入1~6之間的數(shù)字選擇相應(yīng)功能:"); scanf("%d",&i); returni;}ptreecreatfamily(FILE*fp){if(!feof(fp)){ ptreep; p=(ptree)malloc(sizeof(pnode));charfname[10],mname[10]; inti; fscanf(fp,"%s%s%d\n",fname,mname,&i); if((strcmp(fname,"n")==0)&&(strcmp(mname,"n")==0)&&(i==0)){ p=NULL;returnp;}數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第9頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第9頁(yè)。 {strcpy(p->male,fname);strcpy(p->female,mname);p->n=i;printf("讀取成功\n");p->fchild=creatfamily(fp);p->brother=creatfamily(fp); returnp;}}}voidPreOrder(ptreep){if(p) {show(p); PreOrder(p->fchild); PreOrder(p->brother); } }voidshow(ptreep)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第10頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第10頁(yè)。printf("名字配偶第幾代\n"); printf("%2s%6s%d\n",p->male,p->female,p->n); }voidsearch(ptreep,charname[]){ if(p) {if(strcmp(p->male,name)==0){ show(p); getchar(); getchar();}search(p->fchild,name); search(p->brother,name);}}voidadd(ptreep,charname[]){數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第11頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第11頁(yè)。inti; if(p) {if(strcmp(p->male,name)==0){ printf("名字配偶第幾代\n"); scanf("%s%s%d",fname,mname,&i);p->fchild=(ptree)malloc(sizeof(pnode));strcpy(p->fchild->male,fname);strcpy(p->fchild->female,mname);p->fchild->n=i;p->fchild->fchild=NULL;p->fchild->brother=NULL;}add(p->fchild,name); add(p->brother,name);}}數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第12頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第12頁(yè)。{charfname[10],mname[10];inti; if(p) {if(strcmp(p->male,name)==0){ printf("名字配偶第幾代\n"); scanf("%s%s%d",fname,mname,&i);strcpy(p->male,fname);strcpy(p->female,mname);p->n=i;}gai(p->fchild,name); gai(p->brother,name);} }voidsave(ptreep,FILE*stream){數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第13頁(yè)。 數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第13頁(yè)。{ fprintf(stream,"%s%s%d",p->male,p->female,p->n);save(p->fchild,stream);save(p->brother,stream);}else{ charout[20]="nn0"; fprintf(stream,"%s\n",out);}}intmain(){intstatus;charname[10];ptreep;FILE*fp=fopen("lmx.txt","r+"); while(1){ status=Menu(); switch(status)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第14頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第14頁(yè)。case1:p=creatfamily(fp);getchar();getchar(); break; case2: PreOrder(p); getchar(); getchar(); break; case3: printf("請(qǐng)輸入搜索的名字\n"); scanf("%s",name); search(p,name); break; case4: printf("請(qǐng)輸入要孩子的人\n"); scanf("%s",name); add(p,name); break; case5:數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第15頁(yè)。數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第15頁(yè)。 scanf("%s",name); gai(p,name); break; case6: save(p,fp); getchar(); getchar(); break; case7: printf("\n感謝使用本系統(tǒng)\n"); fclose(fp); fclose(fp); exit(0);//如果選擇5,則退出循環(huán)終止程序 break; default: printf("\n您選擇有誤\n"); getchar(); }數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第16頁(yè)。 }數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第16頁(yè)。}四、調(diào)試與分析1、主菜單數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第17頁(yè)。家譜管理系統(tǒng)的主數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第17頁(yè)。2、顯示家譜信息讀取家譜信息3、顯示家譜中第n代人所有信息顯示家譜中第n代人所有信息4、按姓名查找某人并相應(yīng)輸出數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第18頁(yè)。查詢家譜成員信息的界面5、為家譜中成員添加孩子信息為家譜中成員添加孩子信息數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第19頁(yè)。6、修改家譜中成員信息修改家譜中成員信息五、設(shè)計(jì)總結(jié)1、完成情況數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)全文共22頁(yè),當(dāng)前為第20頁(yè)。進(jìn)程第1次課第2次課第3次課第4次課負(fù)責(zé)人項(xiàng)目計(jì)劃全體成員總體方案全體成員編寫(xiě)代碼徐程凱實(shí)驗(yàn)報(bào)告徐海域視頻制作白鈺琦整體完善全體成員答辯全體成員2、心得體會(huì)白鈺琦:從這個(gè)項(xiàng)目中,我懂得了代碼編寫(xiě)能力的提高不是一天兩天的事,而是一個(gè)日積月累的過(guò)程。在不斷地編寫(xiě)調(diào)試,是在提出問(wèn)題解決問(wèn)題的過(guò)程中慢慢提升起來(lái)的。所以,自己決定向編程高手看齊,多編程多提問(wèn)多思考。在今后的時(shí)間里更加努力地學(xué)習(xí)。徐程凱:在這個(gè)項(xiàng)目里我做了對(duì)家譜管理的系統(tǒng)分析。剛開(kāi)始我們從網(wǎng)上下載好了我們需要的資料,通過(guò)取其精華去其糟粕,本來(lái)是想把系統(tǒng)整合的很完美,可是由于我c語(yǔ)言基礎(chǔ)不太扎實(shí),未能完成。也向同學(xué)請(qǐng)教,只能做到現(xiàn)在這個(gè)地步。通過(guò)這次課程設(shè)計(jì),我對(duì)這個(gè)樹(shù)的操作有了深刻的了解,對(duì)C語(yǔ)言也有了更深刻的了解。但我們需要更深刻地思考其實(shí)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論