错误:预期','或';'在'{'之前

时间:2016-07-15 01:15:40

标签: c++

我确信这是一个非常简单的答案,但我已经看了好几个小时而无法理解。正如标题所说,我得到了一个错误,我在代码中评论过。一切似乎都是正确的语法,所以我不知道它可能是什么。

#include <iostream>
#include <math.h>
using namespace std;
float x, y, k, q, base, exponent;

/*float atan(q)
{
    //I had made my own functions for all the different math functions that
    would have normally been included in the math.h file, but I had no idea
    how to tackle making a function for an arc tangent as all the information
    I could find online just had you kinda guess what the end result might be,
    so I used the math.h file for this and only this function.
}*/
float sqrot(k)
{ // <----- the error is here
    float guess, divide, average, z;
    guess=rand()%k;
    for(z;z<500;z++)
    {
        divide=k/guess;
        average=(guess+divide)/2;
        guess=average;
    }
}
float cosine(y)
{
    y=1-(((y*y)/2)+((y*y*y*y)/24)-((y*y*y*y*y*y)/720));
    return y;
}
float sine(x)
{
    x=x-(((x*x*x)/6)+((x*x*x*x*x)/120)-((x*x*x*x*x*x*x)/5040));
    return x;
}
float power(base, exponent)
{
    while(exponent>1)
    {
        base=base*base;
        exponent-1;
    }
    return base;
}
float haversine(lat1,long1,lat2,long2)
{
    float degree_to_rad, pi=3.14159;
    int d_lat, d_long, a, c, mi;
    degree_to_rad=pi/180;
    d_lat=(lat2-lat1)*degree_to_rad;
    d_long=(long2-long1)*degree_to_rad;
    a=power(sine(d_lat/2),2)+cosine(lat*degree_to_rad)*cosine(lat2*degree_to_rad)*power(sine(d_long/2),2);
    c=2*atan((sqrot(a))/(sqrot(1-a)));
    mi=3956*c;
    return mi;
}
int main()
{
    int answer;
    cout<<"Enter the Latitude of your starting location: ";
    cin>>lat1;
    cout<<"Enter the Longitude of your starting location: ";
    cin>>long1;
    cout<<"Enter the Latitude of your ending location: ";
    cin>>lat2;
    cout<<"Enter the Longitude of your ending location: ";
    cin>>long2;
    answer=haversine(lat1, long1, lat2, long2);
    cout<<"The distance between the two points is: "<< answer;
    return 0;
}

1 个答案:

答案 0 :(得分:2)

正式参数必须具有类型

float sqrot(k)

应该是

float sqrot(type k)
         // ^^^^

与所有其他功能类似