电子地图管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void start();
void display();
void displaypaixu();
void displayjiansuo();
Road *head = NULL;
void SearchByClass(Road *head)
{
time_t a,b;
Road *prev,*p,*end,*temp_head;
char Run_time[80];
int i=0,Class;
printf("请输入您所要查找的道路的番号:\n");
scanf("%d",&Class);
prev=p=(Road *)malloc(sizeof(Road));//创建一个结点
a=time(NULL);
strftime(Run_time,79,"%H:%M:%S",localtime(&a));
temp_head = head;
if(temp_head == NULL)
{
printf("无数据源");
system("pause");
exit(5);
}
while(temp_head!=NULL){
if(temp_head->stRoadRec.linkid==Class){
end=(Road *)malloc(sizeof(Road));
printf("#linkid=%d ",temp_head->stRoadRec.LinkID);
printf("roadnameflag=%d ",temp_head->stRoadRec.roadnameflag);
printf("brunch=%d ",temp_head->stRoadRec.brunch);
printf("dispclass=%d ",temp_head->stRoadRec.linkid);
printf("roadname=%s#\n",temp_head->stRoadRec.roadname);
p->stRoadRec.LinkID = temp_head->stRoadRec.LinkID;
p->stRoadRec.roadnameflag = temp_head->stRoadRec.roadnameflag;
p->stRoadRec.brunch = temp_head->stRoadRec.brunch;
p->stRoadRec.linkid = temp_head->stRoadRec.linkid;
p->stRoadRec.roadname = temp_head->stRoadRec.roadname;
p->next=end;
p = p->next;
i++;}
temp_head=temp_head->next;
}
end->next=NULL;
p ->next = NULL;
if(i>=5)
{
save(prev);
printf("查询结果数大于5,已保存至SearchResult.txt\n");
}
b=time(NULL);
strftime(Run_time,79,"%H:%M:%S",localtime(&b));
printf("本次查找用时%d 秒.\n",b-a);
}
void SearchById(Road *head)
{
time_t a,b;
Road *prev,*p,*end,*temp_head;
char Run_time[80];
int i=0,LinkId;
printf("请输入您所要查找的道路的ID:\n");
scanf("%d",&LinkId);
prev=p=(Road *)malloc(sizeof(Road));//创建一个结点
a=time(NULL);
strftime(Run_time,79,"%H:%M:%S",localtime(&a));
temp_head = head;
if(temp_head == NULL)
{
printf("无数据源");
system("pause");
exit(3);
}
while(temp_head!=NULL){
if(temp_head->stRoadRec.LinkID==LinkId){
end=(Road *)malloc(sizeof(Road));
printf("#linkid=%d",temp_head->stRoadRec.LinkID);
printf("roadnameflag=%d",temp_head->stRoadRec.roadnameflag);
printf("brunch=%d",temp_head->stRoadRec.brunch);
printf("dispclass=%d",temp_head->stRoadRec.linkid);
printf("roadname=%s#\n",temp_head->stRoadRec.roadname);
p->stRoadRec.LinkID=temp_head->stRoadRec.LinkID;
p->stRoadRec.roadnameflag=temp_head->stRoadRec.roadnameflag;
p->stRoadRec.brunch=temp_head->stRoadRec.brunch;
p->stRoadRec.linkid=temp_head->stRoadRec.linkid;
p->stRoadRec.roadname = temp_head->stRoadRec.roadname;
p->next=end;
p = p->next;
i++;}
temp_head=temp_head->next;
}
p ->next = NULL;
if(i>=5)
{
save(prev);
printf("查询结果数大于5,已保存至SearchResult.txt\n");
}
b=time(NULL);
strftime(Run_time,79,"%H:%M:%S",localtime(&b));
printf("本次查找用时%d 秒.\n",b-a);
}
void SearchByName(Road *head)