问题遇到的现象和发生背景
将两个文件的数据保存到结构体中后,依据时间和编码将数据进行匹配,
问题相关代码,请勿粘贴截图
int j_n = 0;//该历元的n文件的卫星数
epochnum_1 = 0;
for (int i_prno = 0; i_prno < epoch[epochnum_1].epochgps; i_prno++)
for (int i_tn = 0; i_tn < line1; i_tn++)
{
if ((ephlst[i_tn].PRN = epoch[epochnum_1].oPRN[i_prno]) && (abs(ephlst[i_tn].t_ - epoch[epochnum_1].t_) < 3600))
{
j_n++;
cout << i_prno << " 时间:" << epoch[epochnum_1].hour << " 编号:" << epoch[epochnum_1].oPRN[i_prno] <<" 判断编号是否变化:"<< epoch[epochnum_1].obs[i_prno]<<" ";
cout << i_tn << " 时间:" << ephlst[i_tn].hour << " 编号:" << ephlst[i_tn].PRN << " 判断编号是否变化:" << ephlst[i_tn].iode << endl;
}
}
运行结果及报错内容
运行结果
报错内容:
按理来说,两个红色区域应该唯一且对应,但运行结果epoch对应ephlst中所有时间满足条件的区域,未考虑编码相同的要求。
我想要达到的结果
依据时间和编码条件,筛选出一一对应的数据并用于后续数据处理。
正确输出结果应该为:
0 时间:0 编号:18 判断编号是否变化:2.48558e+07 210 时间:0 编号:18 判断编号是否变化:192