




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言与数据结构综合训练个人关系网的设计与实现系统任务要求(1)系统菜单的建立(2)信息的输入(3)信息的输出(4)个人关系的查询思路分析当面对个人关系网的问题时,我们首先想到的是用树或图知识去解决,这是没错的。但当我们用传统方法操作时,会出现无从下手的感觉,所以我们应该改变思路,学会用C++语言去建立图,并学会用switch,case语言建立菜单,这样会更轻松简便的解决个人关系网问题。个人关系网的分析当一个人在社会中就会扮演很多角色,这样与人形成了各种各样的关系。从现实出发就会考虑个人的关系网有:朋友、同事、师生、父子关系等等个人关系示意图亲戚陌生人父子师生师生同事父子朋友甲乙丙爸爸个人个人关系的程序分析(1)定义图中的顶点信息、边的信息、边的大小(2)清除图中的记录(3)打印图中的信息(4)个人关系信息的建立(5)把个人关系信息录入图中(6)菜单的建立图中信息的建立#definevexnum4//图的最大顶点个数#defineM10//储存人名数组的大小usingnamespacestd;typedefstruct{int**arcs;//边的信息charvex[vexnum][M];//顶点信息intvexs;//边的大小}Graph;清除图中信息voidDestroyGraph(Graph&G)//清除图中记录{inti;for(i=0;i<G.vexs;i++){free(G.arcs[i]);}free(G.arcs);}打印图中信息voidPrint(GraphG)//打印图中信息{inti,j;cout<<"关系信息输出:"<<endl;for(i=0;i<G.vexs;i++){printf("\t");cout<<G.vex[i];}cout<<endl;for(i=0;i<G.vexs;i++){cout<<G.vex[i];for(j=0;j<G.vexs;j++){switch(G.arcs[i][j]){case0://边的信息为0.打印关系为陌生cout<<"\t陌生";break;case1://边的信息为1,打印关系为同学cout<<"\t同学";break;case2://边的的信息为2,打印关关系为朋友友cout<<"\t朋友";break;case3://边的的信息为3,打印关关系为同事事cout<<"\t同事";break;default://否否则,边的的信息为100,打打印关系为为本人cout<<"\t本人";break;}}cout<<endl;}}个人信息的的建立(1)输入入要查找的的两个人的的姓名charname1[10];charname2[10];//cin>>name1;//cin>>name2;scanf("%s%s",name1,name2);(2)在表表中查找并并记录两个个人的名字字(3)用switch,case语句句记录边的的信息,并并记录他们们之间的关关系(4)如若若两个人为为一个人,,则打印关关系为本人人个人信息的的录入图中中(1)输入入顶点的信信息和要录录入图中人人的姓名(2)给边边分配储存存空间G.arcs=(int**)malloc(vexnum*sizeof(int*));for(i=0;i<vexnum;i++){G.arcs[i]=(int*)malloc(vexnum*sizeof(int));}(3)输入入边的信息息菜单的建立立(1)定义义一个图GraphG;//定义一一个图intn;cout<<"0:退出1:信信息输入2:信息输出出3:查询"<<endl;cout<<"请输输入编号::"<<endl;(2)用switch,case语句句分别调用用输入、输输出、查找找函数,执执行各自的的功能。(3)删除除图中的记记录个人关系网网的完成菜单:0::退出1:信息输输入2::信息输出出3:查查询1、信息输输入输入要存入入关系网的的人名(容容量为4人人),并输输入他们之之间的关系系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度风力发电项目风机设备采购与投资分析合同
- 2025年度智能制造对赌协议约定倍收益合作协议
- 二零二五年度林地使用权变更及补偿合同
- 2025年度药店药店药品知识产权保护聘用劳动合同
- 股权代持协议书标准模板:2025年度股权激励适用
- 2025年度森林土地承包与林木抚育合作协议
- 二零二五年度企业内部员工外出安全免责合同
- 二零二五年度汽车零部件货物运输保险协议
- 二零二五年度历史文化街区拆除搬迁保护协议
- 2025年度服装厂职工劳动合同模板书(智能化工厂)
- (新版)广电全媒体运营师资格认证考试复习题库(含答案)
- 2024年法律职业资格考试(试卷一)客观题试卷与参考答案
- 安全生产重大事故隐患排查报告表
- 秘书理论与实务教案
- 社区矫正人员工作手册
- 浅圆仓滑模及仓顶板施工方案
- 应用文第一章绪论2016春
- 统编版必修上册第五《乡土中国》导读优质课件PPT
- 电缆敷设施工方案及安全措施范文
- 市场营销课程标准
- ppt模板:信保专用中国出口信用保险公司课件
评论
0/150
提交评论