From 415d87152449ba295a6911be4954ccb2aa817c17 Mon Sep 17 00:00:00 2001 From: Yerolling <2911328695@qq.com> Date: Fri, 20 May 2022 17:47:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86PrintState=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bus_io.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/bus_io.c b/src/bus_io.c index b2cadd0..8180f03 100644 --- a/src/bus_io.c +++ b/src/bus_io.c @@ -145,3 +145,59 @@ rail_node_t *ReadConfigFile() return NULL; } } + +char* PrintState() +{ + + int count; + rail_node_t *p=NULL; + char target[20],clockwise[20],counterclockwise[20]; + for(count=0,p=rails;p!=NULL;p=p->next_node,count++) + { + target[count]='0'; + clockwise[count]='0'; + counterclockwise[count]='0'; + } //遍历轨道链表,将所有站点初始化为0,即:无任何请求; + + bus_query_t *t=NULL; + int i; + for(t=queries;t!=NULL;t=t->next_node) + { + i=t->node->id-1; + if(t->type==0) + { + clockwise[i]='1'; + } + else if(t->time==1) + { + counterclockwise[i]='1'; + } + else if(t->type==2) + { + target[i]='1'; + } + } //遍历请求链表,将有请求的站点按照不同类型标记为1 + + char line1[100],line2[10],line3[10],line4[100],line5[10],line6[100],line7[100]; + + sprintf(line1,"TIME:%d\n",bus_time); + sprintf(line2,"BUS:\n"); + sprintf(line3,"position:%d\n",GetBusPosition()); + sprintf(line4,"target:%s\n",target); + sprintf(line5,"STATION:\n"); + sprintf(line6,"clockwise:%s\n",clockwise); + sprintf(line7,"counterclockwise:%s\n",counterclockwise); //分别得到每一行的字符串 + + strcat(line1,line2); + strcat(line1,line3); + strcat(line1,line4); + strcat(line1,line5); + strcat(line1,line6); + strcat(line1,line7); //将7行字符串合并在一起 + + return line1; //返回合并后的字符串 + + + + +} \ No newline at end of file