void getData (int** dist){ while ((getLine (file,sr.str))!=-1){ initStringReader (&sr); getToken (&sr,buf); int code = getCityCode (buf); for (int i=0;i<cityNum;++i){ getToken(&sr,buf); dist[i][code] = atoi(buf); } } }
void getdist(char ch[],int** dist) { int s[M],dingwei[M]; int n,number,u; int i,j,k,min,distance=0; getData (dist); n=getCityCode(ch); u=1; number=n; for(i=0;i<M;i++) s[i]=0; for(j=0;j<M;j++) { for(i=0;i<M;i++) { dingwei[i]=dist[number][i]; } s[number]=1; printf("%s->",getCityName(number)); min=MAX; for(k=0;k<M;k++) { if(s[k]==0&&min>dingwei[k]) { min=dingwei[k]; number=k; } if(u==M) min=dingwei[n]; } u++; distance+=min; } printf("%s",getCityName(n)); printf("\n距离为:%d\n",distance); }
void ChinaWeather::setLocation(const QString &location) { QString code = getCityCode(location); if(code.isEmpty()) { data = "对不起,找不到您输入的城市"; emit sentWeather(data); return; } QString strSent = "http://m.weather.com.cn/data/"+code+".html";; request.setUrl(strSent); this->reply = this->manger.get(this->request); // connect(reply,&QNetworkReply::finished,this,&ChinaWeather::analysisJson,Qt::DirectConnection); QEventLoop eventLoop; connect(&this->manger, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit())); eventLoop.exec(); analysisJson(); }