求大神告知这个计算器的程序有哪些错误.能运行,但是输出的答案完全不对,而且减法运算还没办法运行.

1个回答

  • #include

    #include

    #include

    double A1,a1,A2,a2,A3,S1,s1,S2,s2,S3,M1,m1,M2,m2,M3,D1,d1,D2,d2,D3;

    double Dsin=0.0,Ds,Dcos=0.0,Dc,Dangle1,dangle1,Dangle2,dangle2,Dradian1,Dradian2,pi=3.1415926;

    int i=2,k=2,n;

    double add(double A1,double A2)//形参没写数据类型

    {

    x05A3=A1+A2;

    x05printf("答案为:%lfn",A3);

    x05return A3;//函数需要返回值

    }

    double substruction(double S1,double S2)//形参没写数据类型

    {

    x05S3=S1-S2;

    x05printf("答案为:%lfn",S3);

    x05return S3;//函数需要返回值

    }

    double multiplication(double M1,double M2)//形参没写数据类型

    {

    x05M3=M1*M2;//写成了M3=M1*M1

    x05printf("答案为:%lfn",M3);

    x05return M3;//函数需要返回值

    }

    double division(double D1,double D2)//形参没写数据类型

    {

    x05D3=D1/D2;

    x05printf("答案为:%lfn",D3);

    x05return D3;//函数需要返回值

    }

    double Csin(double Dangle1)//形参没写数据类型

    {

    x05Dradian1=Dangle1*pi/180;

    x05Ds=Dangle1*pi/180;

    x05while (i<=8)

    x05{

    x05x05Dsin+=Ds;

    x05x05Ds=(-1)*Ds*Dradian1*Dradian1/(i*(i+1));

    x05x05i+=2;

    x05}

    x05printf("答案为:%lfn",Dsin);

    x05return Dsin;//函数需要返回值

    }

    double Ccos(double Dangle2)//形参没写数据类型

    {

    x05Dradian2=Dangle2*pi/180;

    x05Dc=Dangle2*pi/180;

    x05while (k<=8)

    x05{

    x05x05Dcos+=Dc;

    x05x05Dc=(-1)*Dc+Dradian2*Dradian2/((k-1)*k);

    x05x05k+=2;

    x05}

    x05printf("答案为:%lfn",Dcos);

    x05return Dcos;//函数需要返回值

    }

    void main()

    {

    x05printf("输入要进行的运算代码:加法-1,减法-2,乘法-3,除法-4,sin-5,cos-6n");

    x05scanf("%d",&n);

    x05switch (n)

    x05{

    x05case 1:

    x05x05printf("输入相加的两个数");

    x05x05scanf("%lf%lf",&a1,&a2);

    x05x05add(a1,a2);

    x05x05break;

    x05case 2:

    x05x05printf("输入减数");

    x05x05scanf("%lf",&s1);

    x05x05printf("输入被减数");

    x05x05scanf("%lf",&s2);//少写了&

    x05x05substruction(s1,s2);

    x05x05break;

    x05case 3:

    x05x05printf("输入相乘的两个数");

    x05x05scanf("%lf%lf",&m1,&m2);

    x05x05multiplication(m1,m2);

    x05x05break;

    x05case 4:

    x05x05printf("输入除数");

    x05x05scanf("%lf",&d1);

    x05x05printf("输入被除数");

    x05x05scanf("%lf",&d2);

    x05x05division(d1,d2);

    x05x05break;

    x05case 5:

    x05x05printf("输入要计算的角度");

    x05x05scanf("%lf",&dangle1);

    x05x05Csin(dangle1);

    x05x05break;

    x05case 6:

    x05x05printf("输入要计算的角度");

    x05x05scanf("%lf",&dangle2);

    x05x05Ccos(dangle2);

    x05x05break;

    x05}

    }

    另外sin跟cos逻辑有问题,算出来是错的