版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构-家谱管理系统数据结构-家谱管理系统全文共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中语文++《我为什么而活着》课件+八年级语文上册同步备课精讲精练(统编版)
- 病毒及其疫苗的生产制备技术
- 【生物】2024年高考天津生物试卷(已校对)
- 4.7 相似三角形的性质 数学北师大版九年级上册同步测试(含答案)
- 贵州省毕节市部分学校2023-2024学年高一下学期期末联考语文试题(解析版)
- 2024年黑龙江省牡丹江市中考英语真题含解析
- 电商行业的消费者购买决策影响因素培训内容策划
- 2023年镇江市第一人民医院招聘考试试题及答案
- 2023年盐城市滨海县农村订单定向医学生定向招聘笔试真题
- 2023年大庆市大同区招聘公益性岗位人员考试试题及答案
- 部编版语文八年级上第三单元大单元整合公开课一等奖创新教学设计
- 2023-2024学年江苏省南通市崇川初级中学七年级(上)第一次月考数学试卷(含解析)
- 新人教版第13课五四运动说课稿
- 幼儿园安全教育课件:《不挤不抢懂礼让》
- 解构与重构性素描设计素描
- 中职学校计算机专业建设规划
- 三级安全教育记录卡
- 生命体征的评估与护理教学讲课
- 新版苏教版四年级数学上册优质课公开课赛课《可能性》教案
- 汽车二级维护操作规程
- 第二课 美术作品与客观世界 教案-2023-2024学年高中美术湘美版(2019)美术鉴赏
评论
0/150
提交评论