题目8:全国铁路运输网最佳经由问题 - 图文(5)

2019-05-17 16:59

void map_revise_vex() { int vid,choose,i; do { printf(\请输入需要修改的站点ID(e:退出):\ vid = input_num_check(0,G.vexnum-1); if(input_exit == 1) { input_exit = 0; system(\ welcome(); return; } print_fgx(); printf(\站点信息预览:【%d】%s 介绍:%s \\n\.vexs[vid].id,G.vexs[vid].name,G.vexs[vid].des); print_fgx(); for(i=0;i【%d】%s 道路信息:[长度] %dkm \.vexs[i].id,G.vexs[i].name,G.arcs[vid][i].distance); if(G.arcs[vid][i].kind == 1) printf(\类型] 货运\ else printf(\类型] 客运\ print_fgx(); } printf(\请输入需要修改的对象(1.名称 2.信息 3.线路):\ scanf(\ if(choose == 1) { printf(\请输入新的站点名称:\ scanf(\.vexs[vid].name); } else if(choose == 2) { printf(\请输入新的站点信息:\ scanf(\.vexs[vid].des); } else if(choose == 3) {

20

map_reroad_in(vid); } else { printf(\输入错误!\\n\ continue; } save_map(); print_fgx(); printf(\修改成功!\\n\ }while(1); }

//修改道路(引导界面) void map_revise_road() { int vid; do { printf(\请输入需要修改的道路的起点(e:退出):\ vid = input_num_check(0,G.vexnum-1); if(input_exit == 1) { input_exit = 0; system(\ welcome(); return; } map_reroad_in(vid); save_map(); print_fgx(); printf(\修改成功!\\n\ }while(1); }

//修改道路

void map_reroad_in(int vid) { int fid,ekind,pass=0,passt=1;

21

do { printf(\请输入需要修改的道路的终点(e:退出):\ fid = input_num_check(0,G.vexnum-1); if(input_exit == 1) input_exit = 0; else if(G.arcs[vid][fid].distance == MAX || fid == vid) printf(\道路不存在或端点重复!\\n\ else pass = 1; }while(pass != 1); if(pass == 1) pass = 0; do { printf(\您需要修改线路【%d】%s ->【%d】%s 的\\n(1.终点 2.长度 3.类型):\.vexs[vid].id,G.vexs[vid].name,G.vexs[fid].id,G.vexs[fid].name); scanf(\ if(ekind == 1) { int xid; do { printf(\请输入道路的新终点:\ xid = input_num_check(0,G.vexnum-1); if(input_exit == 1) input_exit = 0; else if(G.arcs[vid][xid].distance < MAX || xid == vid) printf(\新道路已存在或端点重复!\\n\ else pass = 1; }while(pass != 1); map_re_arc(vid,fid,3,xid); } else if(ekind == 2) { map_re_arc(vid,fid,1,-1); } else if(ekind == 3) { map_re_arc(vid,fid,2,-1); } else

22

{ printf(\输入错误!\\n\ passt = 0; } }while(passt == 0); }

//删除站点

void map_delete_vex() {

int vid,i; do { printf(\请输入需要删除的站点编号(e:退出):\ vid = input_num_check(0,G.vexnum-1); if(input_exit == 1) { input_exit = 0; system(\ welcome(); return; } print_fgx(); printf(\站点信息预览:【%d】%s 信息:%s \\n\.vexs[vid].id,G.vexs[vid].name,G.vexs[vid].des); print_fgx(); for(i=0;i【%d】%s 道路信息:[长度] %dkm \.vexs[i].id,G.vexs[i].name,G.arcs[vid][i].distance); if(G.arcs[vid][i].kind == 1) printf(\类型] 货运\ else printf(\类型] 客运\ print_fgx(); } printf(\按任意键确认删除(按e退出):\\n\ if(getch() == 'e') { system(\ welcome(); return;

23

} else { //删除顶点向量(用编号最大的顶点覆盖) G.vexs[vid] = G.vexs[G.vexnum-1]; G.vexs[vid].id = vid; //编号最大顶点清空 strcpy(G.vexs[G.vexnum-1].name,\ strcpy(G.vexs[G.vexnum-1].des,\ //删除与已删除顶点相连的边 for(i=0;i

void map_delete_road() { int bid,fid,pass; do { pass = 0; printf(\请输入需要删除的道路的起点(e:退出):\

24


题目8:全国铁路运输网最佳经由问题 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:ASPNET上机实验指导书分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: