新人初来乍到,不懂之处还请指教。
程序使用了MFC,怕有的计算机没装MFC库,使用了静态库,程序就稍微胖了点。。。
贴上计算的代码,不知道是否有误?
/*m_a,m_b,m_c,m_d分别对应a,b,c,d。speed:爆速;press:爆压*/
double N,M,Q,mol,speed,press;
UpdateData(TRUE);
mol=m_a*12+m_b+m_c*16+m_d*14.01;
if( m_c>=((2*m_a)+(m_b/2)))
{
N=(m_b+m_c*2+m_d*2)/(4*mol);
M=(4*mol)/(m_b+m_c*2+m_d*2);
Q=(1000*(28.9*m_b+94.05*m_a+0.239*m_Hf))/mol;
}
else if((m_c>=(m_b/2))&&(m_c<(2*m_a+m_b/2)))
{
N=(m_b+m_c*2+m_d*2)/(4*mol);
M=(56*m_d+88*m_c-m_b*8)/(m_b+m_c*2+m_d*2);
Q=(1000*(28.9*m_b+94.05*(m_c*0.5-0.25*m_b)+0.239*m_Hf))/mol;
}
else if(m_c<(m_b/2))
{
N=(m_b+m_d)/(2*mol);
M=(2*m_b+28*m_d+32*m_c)/(m_b+m_d);
Q=(1000*(57.8*m_c+0.239*m_Hf))/mol;
}
else
{
MessageBox(L"参数出错?");
return;
}
speed= 1.01* pow((N*pow(M,0.5)*pow(Q,0.5)),0.5)*(1+1.3*m_p) ; //D=1.01(NM0.5Q0.5)0.5(1+1.30ρ)
press=1.558*pow(m_p,2)*N*pow(M,0.5)*pow(Q,0.5); // P=1.558p2NM0.5Q0.5
m_XXXXXXXXrmat(L"%fGpa",press); m_XXXXXXXXXXXXrmat(L"%fkm/s",speed); UpdateData(FALSE);
由于不懂这方面的东西,没法给出测试用例,所以正不正确我也不知道。。。[s:220]
/************************************************************************************************************/
以前的无视吧,程序改了,这是改了后的:
CaHbOcNd.rar
147.92KB
RAR
34次下载
翻帖子就像翻系统日志,习惯了只看最后面新增的的,没主意到要在原帖上修改。。
200字以内,仅用于支线交流,主线讨论请采用回复功能。