數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第1頁
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第2頁
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第3頁
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第4頁
數(shù)據(jù)結(jié)構(gòu)-家譜管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-14-#include<stdio.h>#include<string.h>#include<stdlib.h>#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("******************歡迎使用愛新覺羅家族管理系統(tǒng)*****************\n\n"); printf("請選擇:\n"); printf("\n"); printf("1.讀取一個家庭關(guān)系\n"); printf("\n"); printf("2.顯示一個家庭關(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"); printf("********************************************************************\n\n"); 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;} else {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){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[]){charfname[10],mname[10];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);}}voidgai(ptreep,charname[]){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){ if(p){ 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) {case1:p=creatfamily(fp);getchar();getchar(); break; case2: PreOrder(p); getchar(); getchar(); break; case3: printf("請輸入搜索的名字\n"); scanf("%s",name); search(p,name); break; case4: printf("請輸入要孩子的人\n"); scanf("%s",name); add(p,name); break; case5: printf("請輸入要修該的人\n"); 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(); } }}四、調(diào)試與分析1、主菜單家譜管理系統(tǒng)的主界面2、顯示家譜信息讀取家譜信息3、顯示家譜中第n代人所有信息顯示家譜中第n代人所有信息4、按姓名查找某人并相應(yīng)輸出查詢家譜成員信息的界面5、為家譜中成員添加孩子信息為家譜中成員添加孩子信息6、修改家譜中成員信息修改家譜中成員信息五、設(shè)計總結(jié)1、完成情況進(jìn)程第1次課第2次課第3次課第4次課負(fù)責(zé)人項目計劃全體成員總體方案全體成員編寫代碼徐程凱實驗報告徐海域視頻制作白鈺琦整體完善全體成員答辯全體成員2、心得體會白鈺琦:從這個項目中,我懂得了代碼編寫能力的提高不是一天兩天的事,而是一個日積月累的過程。在不斷地編寫調(diào)試,是在提出問題解決問題的過程中慢慢提升起來的。所以,自己決定向編程高手看齊,多編程多提問多思考。在今后的時間里更加努力地學(xué)習(xí)。徐程凱:在這個項目里我做了對家譜管理的系統(tǒng)分析。剛開始我們從網(wǎng)上下載好了我們需要的資料,通過取其精華去其糟粕,本來是想把系統(tǒng)整合的很完美,可是由于我c語言基礎(chǔ)不太扎實,未能完成。也向同學(xué)請教,只能做到現(xiàn)在這個地步。通過這次課程設(shè)計,我對這個樹的操作有了深刻的了解,對C語言也有了更深刻的了解。但我們需要更深刻地思考其實質(zhì)是什么。了解實驗所需的基本程序,并用所學(xué)知識實現(xiàn)它。徐海域:這次的項目

溫馨提示

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

評論

0/150

提交評論