ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:18.78KB ,
资源ID:453087      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/453087.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(东软实训《电子地图管理系统》代码.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

东软实训《电子地图管理系统》代码.docx

1、东软实训电子地图管理系统代码#include #include #include #include #define MCGETCHAR(date)(*(char *)(date)#define MCGETSHORT(date)(unsigned short)(unsigned short)(*(char*)(date)8)|(unsigned short)(*(char*)(date)+1)&0x00ff)#define MCGETLONG(date)(unsigned long)MCGETSHORT(date)16)|(unsigned long)MCGETSHORT(char*)(date

2、)+2)&0x0000ffff)#define MCGET3BN(date)(unsigned long )MCGETCHAR(date)16)|(unsigned long)MCGETSHORT(char*)(date+1)&0x0000ffff) #define Length 65535int Sizecount=2;int Mark_1=0,Mark_2=0;int ReadFile();/读取文件void Qsort(int l,int r);/排序int Binsearch(int s,int t,int key);/二分查找int Search();/检索void Update()

3、;/更新struct RoadRecord short ussize; long ulLinkID; short usRoadnamesize; int usDispclass; int usBrunch; int usRoadnameflag; char Roadname20;struct RoadRecord roadLength;struct Datestore/定义结构体存储数据 int n; char Totalsize4; char LinkID_15; char Roadnamesize2 ; char Road_flag2; char Roadname20; ;static s

4、truct Datestore DsLength;struct dateout long LinkID; int Dispclass; int Brunch; int Roadnameflag; char Roadname20;struct dateout dateLength;int ReadFile()/模块一读取文件 int m; char filename50; unsigned short ustotalsize; unsigned long ulLinkID; unsigned short usRoadnamesize; FILE *fp_1=fopen(D:GTBL.dat,rb

5、+); FILE *fp_2=fopen(D:Newout.txt,w+); if(fp_1=NULL)/文件不存在手动输入文件路径 printf(nt无法打开文件“GTBL.dat” 或文件不再D盘根目录下nn请手动输入文件路径(路径中请勿有中文):); scanf(%s,filename); if ( (fp_1=fopen(filename,rb+)=NULL) printf(nt无法打开文件“GTBL.dat” 或文件不存在!nn); return 0; else printf(nt文件打开成功!nn); if(fp_2=NULL) printf(nt无法打开文件“newout.txt

6、”或文件不存在!nn); return 0; printf(nt文件读取中.n); while(fread(DsSizecount.Totalsize ,2, 1, fp_1) = 1) fread( DsSizecount.LinkID_1 , 4, 1, fp_1 ) ;/读取LinkID字符 fread( DsSizecount.Roadnamesize ,2, 1, fp_1 ) ; /读取Roadnamesize字符串 fread( DsSizecount.Road_flag, 4, 1 , fp_1 ) ; ustotalsize = MCGETSHORT(DsSizecount.

7、Totalsize) ; /调用宏函数将字符串信息转化为数值类型 ulLinkID = MCGETLONG(DsSizecount.LinkID_1) ; usRoadnamesize = MCGETSHORT(DsSizecount.Roadnamesize);/赋值将数值信息传到结构体中 DsSizecount.n=ustotalsize-12; roadSizecount.ussize=ustotalsize; roadSizecount.ulLinkID=ulLinkID; roadSizecount.usRoadnamesize=usRoadnamesize; m=(int)DsSi

8、zecount.Road_flag3&255; roadSizecount.usDispclass=m&15; roadSizecount.usBrunch=(m&112)/16; roadSizecount.usRoadnameflag=(m&128)/128; dateSizecount.Dispclass=roadSizecount.usDispclass; dateSizecount.Brunch=roadSizecount.usBrunch; dateSizecount.Roadnameflag=roadSizecount.usRoadnameflag; dateSizecount.

9、LinkID=ulLinkID; fread( DsSizecount.Roadname , sizeof(char) , ustotalsize-12 , fp_1 ) ;/从文件中读取道路名称 strcpy(dateSizecount.Roadname,DsSizecount.Roadname+4); fprintf(fp_2,LinkID=); fprintf(fp_2,%dt,dateSizecount.LinkID); fprintf(fp_2,Flag=); fprintf(fp_2,%dt,dateSizecount.Roadnameflag); fprintf(fp_2,Bru

10、nch); fprintf(fp_2,%dt,dateSizecount.Brunch); fprintf(fp_2,Dispclass=); fprintf(fp_2,%dt,dateSizecount.Dispclass); fprintf(fp_2,Roadname=); fprintf(fp_2,%st,dateSizecount.Roadname); fprintf(fp_2,n); Sizecount+; fclose(fp_1); fclose(fp_2); printf(nt文件读取成功nn 生成文件nn); return 1;void Qsort(int l,int r)/模

11、块二排序(快速排序) int n=datel.LinkID,i=l,j=r; dateLength-2=datel; DsLength-2=Dsl; if(l=r) return ; while(ij) while(i=n) -j; datei=datej; Dsi=Dsj; while(ij & datei.LinkID=n) +i; datej=datei; Dsj=Dsi; datei=dateLength-2; Dsi=DsLength-2; Qsort(l,i-1); Qsort(i+1,r);int Binsearch(int s,int t,int key)/二分查找 int l

12、ow=s,high=t,mid; if(skey) return Binsearch(low,mid-1,key); else return Binsearch(mid+1,high,key); return -1;int Search()/模块三检索 int sel,i,flag=0,n,key,mid,s=2,t=Sizecount; char Roadname20; FILE *p,*p1,*p2;/分别保存不同的道路检索信息 printf(n请输入检索方式:nt1:指定LinkID检索nt2:指定交叉Link列表示Class番号检索nt3:指定查找岔路数检索nt4:指定道路名称检索nt

13、0:返回n请选择:); while(scanf(%d,&sel)!=1)/判断输入的数据是否为数字 fflush(stdin); printf(nt输入错误,请重新输入!n); printf(n请输入检索方式:nt1:指定LinkID检索nt2:指定交叉Link列表示Class番号检索nt3:指定查找岔路数检索nt4:指定道路名称检索nt0:返回n请选择:); switch(sel) case 1:/LinkID检索 printf(请输入LinkID:); scanf(%d,&n); key=n; mid=Binsearch(s,t,key); if(mid!=-1) printf(nt检索到的信息不足5条,信息将显示在屏幕上!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1