2012-12-15 137 views
-1

嗯,我的循环跳过其他每一行,我比较这5 15 16 17 ...这17 37 5 ...并试图找到数字匹配时。我不确定它为什么跳过一条线。循环每隔一行跳过一次?

for(int j=0;j<fileMaxLines;j++){ 

     for(int k=0;k<fileMaxLines;k++){ 
      //cout <<"   " <<EInfo[j].idSE <<endl; 
      if(EInfo[j].idSE == ETran[k].idIV){ 
       temphours = ETran[k].numbOfHoursIV; 

       cout <<EInfo[j].idSE << " -->" << ETran[k].idIV; 
       cout << "right"<<endl; 
       k=fileMaxLines; 
       break; 
      } 
      else{ 
       //cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
      } 
      cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
     } 
     EInfo[j].numbOfHoursSE = temphours; 
      j++; 

     } 

回答

4

你增加j两次:

for(int j=0;j<fileMaxLines;j++){ // here 

    for(int k=0;k<fileMaxLines;k++){ 
     //cout <<"   " <<EInfo[j].idSE <<endl; 
     if(EInfo[j].idSE == ETran[k].idIV){ 
      temphours = ETran[k].numbOfHoursIV; 

      cout <<EInfo[j].idSE << " -->" << ETran[k].idIV; 
      cout << "right"<<endl; 
      k=fileMaxLines; 
      break; 
     } 
     else{ 
      //cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
     } 
     cout <<EInfo[j].idSE << " -->" << ETran[k].idIV << endl; 
    } 
    EInfo[j].numbOfHoursSE = temphours; 
     j++; // and here 

    } 
+0

咄哦,谢谢。 – user1771489