sorry that was messy let me try the insert code button\
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
//patrick allard
//program4
//prof ed ryder
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
void main()
{
//declare input variables
double lat1, lat2, lat3, long1, long2, long3;
//aquire input values from user
printf("\nEnter position of way point 1 \(latitude and longitude\)\: ");
scanf("%lf %lf", &lat1, &long1);
printf("\nEnter position of way point 2 \(latitude and longitude\)\: ");
scanf("%lf %lf", &lat2, &long2);
//convert degrees to radians
lat1=lat1*.017453;
lat2=lat2*.017453;
long1=long1*.017453;
long2=long2*.017453;
//make suure difflat and difflong are within domain of function cos
**** double difflat1=fabs(lat1-lat2);
**** double difflong1=fabs(long1-long2);
while (difflat1>6.2832)
{
****[code]
|
difflat1=difflat1-6.2832;
}
while (difflong1>6.2832)
{
difflong1=difflong1-6.2832;
}
//makesure asineparam is within the domain of function asin
double asinparam1=sqrt(fabs(1.0-.5*cos(difflat1)-.5*cos(difflong1)));
while (asinparam1>1)
{
asinparam1=asinparam1-2;
}
//declare and assign distance output variable
double d1=asin(asinparam1)*2.0*3963.1;
//display desired output
printf("\nDistance traveled =%6.1lf miles", d1);
double pathd=d1;
do{
//aquire input values from user
printf("\nEnter position of way point 3 \(latitude and longitude\)\: ");
scanf("%lf %lf", &lat3, &long3);
//how to break the loop
if (lat3=EOF)
{
break;
}
if (long3=EOF)
{
break;
}
//convert degrees to radians
double lat3=lat3*.017453;
double long3=long3*.017453;
//make suure difflat and difflong are within domain of function cos
double difflat2=fabs(lat2-lat3);
double difflong2=fabs(long2-long3);
while (difflat2>6.2832)
{
difflat2=difflat2-6.2832;
}
while (difflong2>6.2832)
{
difflong2=difflong2-6.2832;
};
//makesure asineparam is within the domain of function asin
double asinparam2=sqrt(fabs(1.0-.5*cos(difflat2)-.5*cos(difflong2)));
while (asinparam2>1)
{
asinparam2=asinparam2-2;
}
//declare and assign distance output variable
double d2=asin(asinparam2)*2.0*3963.1;
pathd=pathd+d2;
//display desired output
printf("\nDistance traveled =%6.1lf miles", pathd);
}
//make suure difflat and difflong are within domain of function cos
double difflatt=fabs(lat1-lat3);
double difflongt=fabs(long1-long3);
while (difflatt>6.2832)
{
difflatt=difflatt-6.2832;
}
while (difflongt>6.2832)
{
difflongt=difflongt-6.2832;
}
//makesure asineparam is within the domain of function asin
double asinparamt=sqrt(fabs(1.0-.5*cos(difflatt)-.5*cos(difflongt)));
while (asinparamt>1)
{
asinparamt=asinparamt-2;
}
//declare and assign distance output variable
double dt=asin(asinparamt)*2.0*3963.1;
//display desired output
printf("\n\n Total Distance traveled =%6.1lf miles\nStart to finish distance =%6.1lf miles", pathd, dt);
}
[/code]