void CGraphDlg::GenerateErrorVal()
{
float random;
float y,x=-320;
CMeasDataSet mds;
mds.m_strFilter= "[Date] like '"+m_Date+"'";//"Date="+m_Date;
if(!mds.IsOpen())
mds.Open();
srand((unsigned)time(NULL));
//int num=mds.GetRecordCount();
mds.MoveFirst();
if(mds.CanUpdate())
{
while(!mds.IsEOF())
{
random=rand()%800;
mds.Edit();
mds.m_Delty=random/10000;
y=sqrt(x*x/(m_E*m_E-1)+m_P*m_P/(m_E*m_E-1)/(m_E*m_E-1))-m_P/(m_E*m_E-1);
y=y+mds.m_Delty;
mds.m_X=x;
mds.m_Y=y;
x+=320.0/m_PointNum;
mds.Update();
mds.MoveNext();
}
}
mds.Close();
}此函数运行的结果本应使记录集 CMeasDataSet 中满足条件的所有记录(20条),
用随机数函数更新,结果这20条记录完全相同,而且单步追踪时,while语句只循环一次就退出 。
{
float random;
float y,x=-320;
CMeasDataSet mds;
mds.m_strFilter= "[Date] like '"+m_Date+"'";//"Date="+m_Date;
if(!mds.IsOpen())
mds.Open();
srand((unsigned)time(NULL));
//int num=mds.GetRecordCount();
mds.MoveFirst();
if(mds.CanUpdate())
{
while(!mds.IsEOF())
{
random=rand()%800;
mds.Edit();
mds.m_Delty=random/10000;
y=sqrt(x*x/(m_E*m_E-1)+m_P*m_P/(m_E*m_E-1)/(m_E*m_E-1))-m_P/(m_E*m_E-1);
y=y+mds.m_Delty;
mds.m_X=x;
mds.m_Y=y;
x+=320.0/m_PointNum;
mds.Update();
mds.MoveNext();
}
}
mds.Close();
}此函数运行的结果本应使记录集 CMeasDataSet 中满足条件的所有记录(20条),
用随机数函数更新,结果这20条记录完全相同,而且单步追踪时,while语句只循环一次就退出 。
给分在管理菜单中进行