电子地图管理系统

电子地图管理系统
电子地图管理系统

电子地图管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#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)

{

time_t a,b;

Road *prev,*p,*end,*temp_head;

char Run_time[80];

int i=0;

char Name[30];

printf("请输入您所要查找的道路的名称:\n");

scanf("%s",Name);

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(6);

}

while(temp_head!=NULL){

if(strcmp(temp_head->stRoadRec.roadname,Name)==0){

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 updata(Road*head)

{

FILE*pp;

FILE*ppp;

FILE*infile;

FILE*outfile;

time_t a;

char filename[20];

Road*p1;

Road*p2;

pp=fopen("newfile.txt","w");

if(pp==NULL)

{

printf("文件创建失败\n");

exit(1);

}//判断文件是否创建成功//

p1=head;

if(p1==NULL)

{

printf("空指针\n");

}//判断头指针是否为空//

while(p1!=NULL)

{

fprintf(pp,"%d%d%d%s%d%d",p1->stRoadRec.data_size,p1->stRoadRec.LinkID,p1->stRoadRec.road_size,p1->stRoadRec.roadname,p1->stRoadRec.brunch,p1->stRoadRec.linkid);

p1=p1->next;

}

fclose(pp);//将动态链表中的内容写入文件newfile中//

相关主题
相关文档
最新文档