我试图制作一个具有正确除法功能的程序。
我的代码是:

#include <iostream>

using namespace std;

double x,y,z,a;

double divide(x,y) {
    if (x >= y) {
        x=z;
        z=y;
        y=x;
        return(x/y);
    }
    else
        return(y/x);
}

int main()
{
    double x,y,z ;
    cout << "Enter x " <<endl;
    cin >> x;
    cout << "Enter y " <<endl;
    cin >> y;
    a = divide (x,y);
    cout << a <<endl;

    system("pause");
    return 0;
}

而且我有2个错误:
 expected `,' or `;' before '{' token

{行上。就在双分隔(x, y)行的正下方

还有另一个错误
divide cannot be used as a function

a = divide (x, y);行上。
我正在使用代码:块

最佳答案

您需要为函数divide指定适当的函数签名。具体来说,该函数的参数缺少其类型:

double divide(double x, double y)
{
    ...
}

您还需要在if语句中为每个块创建一个作用域:
if (x > y)
{
    ...
}
else
{
    ...
}

09-18 10:01