求助,请各位帮忙,100行程序,200元酬劳,流程图和算法我已经写好了
因为c语言很长时间没用了,重新上手比较麻烦。我需要写个程序。算法和流程我都想好了,请哪位大虾帮忙写一因为c语言很长时间没用了,重新上手比较麻烦。我需要写个程序。算法和流程我都想好了,请哪位大虾帮忙写一下,几个小时的工作量。前期100元,后期100元优化(可能某个地方微调下)。
程序描述(请耐心看完,真的不难,没有指针没有类,字符串编码):
GPS收发数据时,有一种格式叫做
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
例如:$GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
意思:
<1> UTC时间,hhmmss.sss(时分秒.毫秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9节,前面的0也将被传输)
<8> 地面航向(000.0~359.9度,以正北为参考基准,前面的0也将被传输)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也将被传输)
<11> 磁偏角方向,E(东)或W(西)
<12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
传输过程中要进行编码,串行数字系统,意思就是输入字符串,输出码,现有的情况是,整个帧一共有19种字符,数字和字母,0-10外加8个字母。所以每个字符可以用五位码表示(19种情况可以用五位2进制码 19=11001),这样的话一帧的编码长度就是 5位乘以整个字数,那么码太多了,5*40=200位。
现在要进行优化编码,思想很简单,比如海拔这个数值,范围在0-8000(米),4位字符,原来要5*4=20位, 现在思想是0-8000可以用13位2进制就够表示8000种情况了(8000=1111101000000),这样码就简单了, 整个都是这样, 什么东经西经啊,纬度啊,都有范围。
唯一复杂一点的,就是如果我多帧传送, 我就不编码日期了,因为都一样,还原时候(解码)加上就行了。还有时间,也可以不编码,记住第一次那个时间就行, 解码的时候直接加上时间,对每一串每次加1秒就行了(每帧都是间隔一秒)。我估计编码器大概100行吧,有编码,解码写起来也快的很。
编码器:输入:字符串 输出:码
解码器:输入:码 输出:字符串
流程图,算法我都写好了(流程图我会写的很详细的,基本可以让你直接顺着编),过一阵子我就用图挂上来(因为我要先把它从我纸上腾到电脑里,用word写,然后截图)。 这个程序真的不难,我会非常感谢您的帮助的。(主要是我对c不熟悉,学过有4年多了。。。重新学语言规范 怎么定义变量太花时间了,现在我主要用matlab 和ads)
联系我qq:50903985 谢谢 希望有能力的朋友尽快联系我。