当前位置:首页 > 《校园导游》课程设计报告
cout<<\请输入要删除道路两端的景点编号\cin>>sno1>>sno2; if(!strcmp(sno1,sno2)) cout<<\您输入的道路两端的景点编号一样,请核查后再试!\else { address=GetAddress(sno1,G); if(!address) cout<<\没有你要删除的道路两端的景点编号,请核查后再试!\ else { p=address->nextArc; VNode* parent1=address; ArcNode* parent2=address->nextArc; int flag=0; while(p) { if(!strcmp(sno2,p->sno)) { count++; if(!flag) parent1->nextArc=p->next; else parent2->next=p->next; break; } else { flag++; p=p->next; } } if(count) { address=GetAddress(sno2,G); parent1=address; parent2=address->nextArc; p=address->nextArc; flag=0; while(p) { if(!strcmp(sno1,p->sno)) { if(!flag) parent1->nextArc=p->next; else parent2->next=p->next; break; } else { flag++; p=p->next; } } G.arcnum--; cout<<\成功删除道路信息!\ } else cout<<\删除道路信息失败,请核查后再试!\ } } } //更新道路信息 void UpdateRode(Graph& G) { int count=0; VNode* address=NULL; ArcNode* p=NULL; int length; char sno1[4]; char sno2[4]; cout<<\请输入要更新道路两端的景点编号以及更新后的道路长度\ cin>>sno1>>sno2>>length; if(!strcmp(sno1,sno2)) cout<<\您输入的道路两端的景点编号一样,请核查后再试!\ else { address=GetAddress(sno1,G); p=address->nextArc; while(p) { if(!strcmp(sno2,p->sno)) { count++; p->length=length; break; } else p=p->next; } if(!count) cout<<\更新道路信息失败,请核查后再试!\ else { address=GetAddress(sno2,G); p=address->nextArc; while(p) { if(!strcmp(sno1,p->sno)) { p->length=length; break; } else p=p->next; } cout<<\更新道路信息成功!\ } } } //检测景点编号 void Print(Graph& G) { VNode* p; p=G.V; ArcNode* q; while(p) { cout<
共分享92篇相关文档