版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构-家谱管理系统数据结构-家谱管理系统全文共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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030物联网技术应用行业市场供需分析及智慧管理规划分析研究报告
- 2025-2030物联网技术平台市场分析物联网平台技术研究市场现状与发展评估报告
- 2025-2030物物流无人机配送行业市场供需需求分析投资评估规划发展研究报告
- 2025-2030物流配送系统整合市场发展趋势研究报告现代投资建设城市提高总体收益
- 绿色制造在提升谷物磨制行业品牌形象中的作用-洞察及研究
- 磁场宇宙起源-洞察及研究
- 建筑机器人调度-洞察及研究
- 连花清瘟胶囊治疗新冠肺炎的经济效果评估-洞察及研究
- 高考听力评分公平性研究-洞察及研究
- 2026年科技发展趋势解读测试题
- 2026院感知识考试题及答案
- 《红楼梦》导读 (教学课件) -高中语文人教统编版必修下册
- 安徽省九师联盟2025-2026学年高三(1月)第五次质量检测英语(含答案)
- (2025年)四川省自贡市纪委监委公开遴选公务员笔试试题及答案解析
- 2025年度骨科护理部年终工作总结及工作计划
- 2026安徽省农村信用社联合社面向社会招聘农商银行高级管理人员参考考试试题及答案解析
- 室外供热管道安装监理实施细则
- 岩板采购合同范本
- 腰背部推拿课件
- 通信管道施工质量管理流程解析
- 商场经理2025年终工作总结(二篇)
评论
0/150
提交评论