数据结构-家谱管理系统_第1页
数据结构-家谱管理系统_第2页
数据结构-家谱管理系统_第3页
数据结构-家谱管理系统_第4页
数据结构-家谱管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构-家谱管理系统数据结构-家谱管理系统全文共22页,当前为第1页。数据结构-家谱管理系统全文共22页,当前为第1页。-14-#include<stdio.h>#include<string.h>数据结构-家谱管理系统全文共22页,当前为第6页。数据结构-家谱管理系统全文共22页,当前为第6页。#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("******************欢迎使用爱新觉罗家族管理系统*****************\n\n"); printf("请选择:\n"); printf("\n");数据结构-家谱管理系统全文共22页,当前为第7页。数据结构-家谱管理系统全文共22页,当前为第7页。 printf("\n"); printf("2.显示一个家庭关系\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.退出系统\n\n\n"); printf("\n");数据结构-家谱管理系统全文共22页,当前为第8页。 printf("********************数据结构-家谱管理系统全文共22页,当前为第8页。 printf("输入1~6之间的数字选择相应功能:"); 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;}数据结构-家谱管理系统全文共22页,当前为第9页。数据结构-家谱管理系统全文共22页,当前为第9页。 {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)数据结构-家谱管理系统全文共22页,当前为第10页。数据结构-家谱管理系统全文共22页,当前为第10页。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[]){数据结构-家谱管理系统全文共22页,当前为第11页。数据结构-家谱管理系统全文共22页,当前为第11页。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);}}数据结构-家谱管理系统全文共22页,当前为第12页。数据结构-家谱管理系统全文共22页,当前为第12页。{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){数据结构-家谱管理系统全文共22页,当前为第13页。 数据结构-家谱管理系统全文共22页,当前为第13页。{ 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)数据结构-家谱管理系统全文共22页,当前为第14页。数据结构-家谱管理系统全文共22页,当前为第14页。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:数据结构-家谱管理系统全文共22页,当前为第15页。数据结构-家谱管理系统全文共22页,当前为第15页。 scanf("%s",name); gai(p,name); break; case6: save(p,fp); getchar(); getchar(); break; case7: printf("\n感谢使用本系统\n"); fclose(fp); fclose(fp); exit(0);//如果选择5,则退出循环终止程序 break; default: printf("\n您选择有误\n"); getchar(); }数据结构-家谱管理系统全文共22页,当前为第16页。 }数据结构-家谱管理系统全文共22页,当前为第16页。}四、调试与分析1、主菜单数据结构-家谱管理系统全文共22页,当前为第17页。家谱管理系统的主数据结构-家谱管理系统全文共22页,当前为第17页。2、显示家谱信息读取家谱信息3、显示家谱中第n代人所有信息显示家谱中第n代人所有信息4、按姓名查找某人并相应输出数据结构数据结构-家谱管理系统全文共22页,当前为第18页。查询家谱成员信息的界面5、为家谱中成员添加孩子信息为家谱中成员添加孩子信息数据结构数据结构-家谱管理系统全文共22页,当前为第19页。6、修改家谱中成员信息修改家谱中成员信息五、设计总结1、完成情况数据结构数据结构-家谱管理系统全文共22页,当前为第20页。进程第1次课第2次课第3次课第4次课负责人项目计划全体成员总体方案全体成员编写代码徐程凯实验报告徐海域视频制作白钰琦整体完善全体成员答辩全体成员2、心得体会白钰琦:从这个项目中,我懂得了代码编写能力的提高不是一天两天的事,而是一个日积月累的过程。在不断地编写调试,是在提出问题解决问题的过程中慢慢提升起来的。所以,自己决定向编程高手看齐,多编程多提问多思考。在今后的时间里更加努力地学习。徐程凯:在这个项目里我做了对家谱管理的系统分析。刚开始我们从网上下载好了我们需要的资料,通过取其精华去其糟粕,本来是想把系统整合的很完美,可是由于我c语言基础不太扎实,未能完成。也向同学请教,只能做到现在这个地步。通过这次课程设计,我对这个树的操作有了深刻的了解,对C语言也有了更深刻的了解。但我们需要更深刻地思考其实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论