文档介绍:气象信息与网络技术课程设计地面/探空电报码以文件形式存放,。地面电报码文件格式是:,探空电报码文件格式是:。其中AAXX表示地面报;TTAA表示探空报;mm表示月份,用2位数字01~12;dd表示日,用2位数字01~31;hh表示时次,用2位数字,地面有00、03、06、09、12、15、18、21共8个时次,探空有00、06、12、18共4个时次,都用世界时。地面/探空电报译码数据流图如图1所示。探空地面/各天气资料码电码译电码文件要素系统1电码译码系统数据流图图探空电报译码程序总流程图地面/、1格式,并且与月日时次形成固定关系,~6TTAA位为“”,1~4位固定为“AAXX”,探空1~4时次的数据来组合文件名。地面2位为位数时次。.T2位为位数日,9~10位为固定为“”,11~127~82位为位数月份,并读取指读取文件,所示,找到指定台站的位置,2/地面探空电报译码程序流程图如图分解出天气然后传递给地面或探空处理程序继续处理,定台站的电码到一个字符串数组中,各要素。最后显示结果。.开输入年月日世界时及台站输入选择地面或高根据年月日世界时组成文件文件存在NY读取电码文文件结束YNN指定台站号Y显示出错信高空地高地高空处理程地面处理程结束电码译码系统程序流程图图2详细设计一、个字符赋值给个字符赋值给台站号,第6-10将已打开的电码文件数据分解,将第0-4(千—有效能见度,最低的云底部高度h指示码,iihVVii,本次不要译码,——(米)VVXXRR1米),第12~16字符赋值给Nddff,N—总云量,指观测时云遮蔽天空视野的总成数,dd—风向,以10度为单位编报。静风时,dd编报00。ff—风速,以米/秒为单位进行编报。并将这些信息显示出来。给K赋初值为16,利用数组分别对后面的数据进行译码,按照图示所示顺序,每次译码后K加6,直到K的值大于数组长度N结束地面译码。地面各要素分解已读入的这一行字符串。第第返回1露气点温;字符→台站号IIiii0~4Nddff字符→;第12~16字符→iihVV6~10XRY第9274863海平面气压k=18k>n?N字符为k5发报时间本站气压气压趋势降水量天气现象云状k=k+6译出地面各要素功能流程图3图字符赋值给台站号,并显12~16将已打开的报文资料进行分解,第0~11字符不用,第个字符与和第K+1K赋初值为18,对气压进行译码,分别将数组第示出来,给变量K个字符进行相应处理,得K+2-K+4……20,15,10进行比较,若相等则对第9299,00,K+18风速译码,将变量,到相应的本组气压位势米,然后依次对气温露点温度差,风向,,结束本次探空译码。〉,进行下一组译码,直到赋值给KKn2探空各要素12~16字符→台站号0~11分解已读入的这一行字符串。第字符不用;第Y99第9230/2550/408500地1000850300/面250hPahPak=18k>n?Nk:k+1字符为70返回20/15/10200/150/100925hPa700hPa500/400分别译出气压,温度,温度露k=k+18点差,风向风速。译出探空各要素功能流程图图4编码设计二、语言编程。利用计算机高级语言对程序流程图进行编程,采用C输出函数//程序中要用到输入/#include<>等、strcpy//程序中要用到字符串处理函数,如strlen#include<>的子字符串转位置开始,长度为nintstr2int(char*ch,intk,intn);//对字符串从k-1换为整型值。对于含有非数字字符,则返回//ch进行地面译码的功能函数//对字符串voiddmdisp(char*ch);ch进行高空译码的功能函数//对字符串voidupdisp(char*ch);主控程序入口//voidmain(void)hour、时次、日day//定义年year、月month{intyear,month,day,hour;p,临时变量//定义位置计数器nintn,p;chstation、存放电码字符串数组//定义台站号charstation[6],ch[400];name//定义读文件指针,文件名FILE*fp;charname[30];定义每月天数intdays[]={0,31,28,31,30,31,30,31,31,30,31,30,31};//3牰湩晴尨请输入年、月、日\n);while(1){scanf(%d%d%d,&year,&month,&day);//输入年月日用空格隔开if(year%4==0)days[2]=29;elsedays[2]=28;if(month>=1