-4
我確定有一個非常簡單的答案,但我已經查找了幾個小時,但無法弄清楚。正如標題所說,我收到了一個我在代碼中評論過的錯誤。一切似乎都是用正確的語法,所以我不知道它會是什麼。錯誤:預計','或';'在'{'標記之前
#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;
}
你還沒類型您的任何參數的所有其他職能開始... – John3136
您需要指定參數的類型,否則編譯器「th油墨「,它是一個函數原型,需要一個分號 –
你可以很容易地修復實際提供參數類型說明符的那個。但是你會[接着進一步的錯誤](http://coliru.stacked-crooked.com/a/cfdf9fa7a5aefb2b)。 –