关于QT的问题!编译通过了,运行程序崩溃!
点其中一个按钮后,就崩溃,那个按钮点了会调用一个函数:doubleCom(doubleh){doubleF=pw*(4*pi*R*R*R/3)*g;doubleM=pm*...
点其中一个按钮后,就崩溃,那个按钮点了会调用一个函数:
double Com(double h)
{
double F=pw*(4*pi*R*R*R/3)*g;
double M=pm*(4*pi*((R*R*R)-(R-t)*(R-t)*(R-t))/3);
double G=M*g;
double N=pm*(pi*R*R)/2;
double A=(F-G)/M;
double B=N/M;
if(A<=0)
{
return 0;
}
else
{
int n=0;
double U[100000];
U[0]=0;
double U0[100000];
U0[0]=0;
double S[100000];
S[0]=0;
for(n=0;;n++)
{
U0[n+1]=U[n]+h*(A-B*Cd(U[n]+0.000001)*U[n]*U[n]);
U[n+1]=U[n]+0.5*h*(A-B*Cd(U[n]+0.000001)*U[n]*U[n]+A-B*Cd(U0[n+1])*U0[n+1]*U0[n+1]);
S[n+1]=S[n]+h*U[n+1];
time=n*h;
/*if((A-B*Cd(U[n+1])*U[n+1]*U[n+1])>0.01)
{
Uv=U[n+1];
qDebug()<<"匀速了:"<<"Uv="<<Uv;
double Hleft=H-S[n+1];
double timeleft=Hleft/Uv;
time+=timeleft;
qDebug()<<"总时间:"<<time;
break;
}*/
if(n==10)
{
break;
}
}
return time;
}
}
我把for循环里面那个if的一大段给取消了,而用一个简单的if来break,但运行还是崩溃。而且我设置参数使A<0的,但是没有return 0,而是直接崩溃!
而且应用程序输出窗口中出现了D:\Program Files\SogouInput\7.1.0.1652\D:\Project\build-Ball-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\Ball.exe exited with code 255
不知道为什么会有搜狗的路径出现! 展开
double Com(double h)
{
double F=pw*(4*pi*R*R*R/3)*g;
double M=pm*(4*pi*((R*R*R)-(R-t)*(R-t)*(R-t))/3);
double G=M*g;
double N=pm*(pi*R*R)/2;
double A=(F-G)/M;
double B=N/M;
if(A<=0)
{
return 0;
}
else
{
int n=0;
double U[100000];
U[0]=0;
double U0[100000];
U0[0]=0;
double S[100000];
S[0]=0;
for(n=0;;n++)
{
U0[n+1]=U[n]+h*(A-B*Cd(U[n]+0.000001)*U[n]*U[n]);
U[n+1]=U[n]+0.5*h*(A-B*Cd(U[n]+0.000001)*U[n]*U[n]+A-B*Cd(U0[n+1])*U0[n+1]*U0[n+1]);
S[n+1]=S[n]+h*U[n+1];
time=n*h;
/*if((A-B*Cd(U[n+1])*U[n+1]*U[n+1])>0.01)
{
Uv=U[n+1];
qDebug()<<"匀速了:"<<"Uv="<<Uv;
double Hleft=H-S[n+1];
double timeleft=Hleft/Uv;
time+=timeleft;
qDebug()<<"总时间:"<<time;
break;
}*/
if(n==10)
{
break;
}
}
return time;
}
}
我把for循环里面那个if的一大段给取消了,而用一个简单的if来break,但运行还是崩溃。而且我设置参数使A<0的,但是没有return 0,而是直接崩溃!
而且应用程序输出窗口中出现了D:\Program Files\SogouInput\7.1.0.1652\D:\Project\build-Ball-Desktop_Qt_5_2_1_MinGW_32bit-Debug\debug\Ball.exe exited with code 255
不知道为什么会有搜狗的路径出现! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询