MFC程序 有几个地方一直报错 不会改 求大神帮忙

void CGSDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
if(operation==0)
{
double a0,a2,a4,a6,a8,X;

    double B;


    m_b.GetWindowText(str);
    **B = atof(str)*PI/180;**


    a0 = 1+3.0/4*e1*e1+45.0/64*pow(e1,4)+350.0/512*pow(e1,6)
        +11025.0/16384*pow(e1,8);

    a2 =-1.0/2*(3.0/4*e1*e1+60.0/64*pow(e1,4)+525.0/512*pow(e1,6)
        +17640.0/16384*pow(e1,8));

    a4 = 1.0/4*(15.0/64*pow(e1,4)+210.0/512*pow(e1,6)
        +8820.0/16384*pow(e1,8));

    a6 = -1.0/6*(35.0/512*pow(e1,6)+2520.0/16384*pow(e1,8));

    a8 = -1.0/6*(35.0/512*pow(e1,6)+2520.0/16384*pow(e1,8));

    X = a*(1-e1*e1)*(a0*B+a2*sin(2*B)+a4*sin(4*B)+a6*sin(6*B)+a8*sin(8*B));

    double p,t,n,V,N,c,l0,L0,L00,e2,Rou,Eta;

    m_l.GetWindowText(str);
    **L0 = atof(str)*PI/180;**
    m_zxjd.GetWindowText(str);
    **L00 = atof(str)*PI/180;**


    t = tan(B);
    **Rou = 180 * 3600/PI;**
    l0 = (L0-L00)*3600;
    e2 = sqrt((a*a-b*b)/(b*b));
    N=a/sqrt(1-e1*e1*sin(B)*sin(B));
    Eta=e2*cos(B);


    double x,y;

    x = X + N/(2*Rou*Rou)*sin(B)*cos(B)*l0*l0+
    N/(24*pow(Rou,4))*sin(B)*pow(cos(B),3)*(5-t*t+9*Eta*Eta+4*pow(Eta,4))*pow(l0,4)+
    N/(720*pow(Rou,6))*sin(B)*pow(cos(B),5)*(61-58*t*t+pow(t,4))*pow(l0,6);

    y = N/Rou*cos(B)*l0+
    N/(6*pow(Rou,3))*pow(cos(B),3)*(1-t*t+Eta*Eta)*pow(l0,3)+
    N/(120*pow(Rou,5))*pow(cos(B),5)*(5-18*t*t+pow(t,4)+14*Eta*Eta-58*Eta*Eta*t*t)*pow(l0,5);

    char buf[15];
    sprintf(buf,"%f",x);
    m_x.SetWindowText(buf);

    sprintf(buf,"%f",y);
    m_y.SetWindowText(buf);

}

*****标注地方有误  求帮忙找错  跪谢各路大神

2个回答

 str是CString
char *t1 =str.GetBuffer(str.GetLength());
L0 = atof(t1)*PI/(double)180;
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_36483464: 问题如果解决,请点下我回答右边的采纳。如果还有问题,可以继续发帖
接近 4 年之前 回复
sinat_36483464
sinat_36483464 把PI改成double 错误就消失了 谢谢大神赐教 感谢感谢
接近 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_36483464: 看下pi是什么类型,都换成double,不行换float
接近 4 年之前 回复
sinat_36483464
sinat_36483464 error C2059: syntax error : '=' PI宏定义
接近 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_36483464: 什么错误提示,PI在哪里定义的
接近 4 年之前 回复
sinat_36483464
sinat_36483464 回复caozhy: math.h我加了 但是都修改了还是报错 “=”号有问题 ROU那个计算式没有用到str怎么也会报错呢
接近 4 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复sinat_36483464: 别的也要修改。另外需要include math.h
接近 4 年之前 回复
sinat_36483464
sinat_36483464 m_l.GetWindowText(str); char *t1 =str.GetBuffer(str.GetLength()); L0 = atof(t1)*PI/(double)180; 这样改了之后还是一样的错误
接近 4 年之前 回复

m_l.GetWindowText(str);
char *t1 =str.GetBuffer(str.GetLength());
L0 = atof(t1)*PI/(double)180;

    这样改了之后还是一样的错误 
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐