Question: Hello, I just need a quick fix for my C++ program. For the minutes it needs to display 60 instead of 60.00. This error is
Hello, I just need a quick fix for my C++ program. For the minutes it needs to display 60 instead of 60.00. This error is highlighted in the output screenshot. Thanks.
Angle.h
#pragma once #include
using namespace std;
class Angle { private: int degrees, minutes; float seconds; char direct; public:
Angle() { degrees = 0; minutes = 0; seconds = 0; direct = 'N'; } //******************************************* //Lat = 0; Lon = 1; //******************************************* Angle(float gpsVal, bool longitude) { degrees = fabs(gpsVal); minutes = ((fabs(gpsVal) - degrees) * 60); seconds = (((fabs(gpsVal) - degrees) * 60) - minutes) * 60;
direct = (!longitude) ? ((fabs(gpsVal) == gpsVal) ? 'N' : 'S') : ((fabs(gpsVal) == gpsVal) ? 'E' : 'W');
}
Angle(int d, int m, float s, char di) { degrees = d; minutes = m; seconds = s; direct = di; }
void setDegrees(int); void setMinutes(int); void setSeconds(float s); void setDirection(char d);
int getDegrees(); int getMinutes(); double getSeconds(); char getDirection();
void print(); string toString();
};
testAngle.cpp
#include "Angle.h"
#include
using namespace std;
void Angle::setDegrees(int d)
{
degrees = d;
}
void Angle::setMinutes(int m)
{
minutes = m;
}
void Angle::setSeconds(float s)
{
seconds = s;
}
void Angle::setDirection(char d)
{
direct = d;
}
int Angle::getDegrees()
{
return degrees;
}
int Angle::getMinutes()
{
return minutes;
}
double Angle::getSeconds()
{
return seconds;
}
char Angle::getDirection()
{
return direct;
}
void Angle::print()
{
cout
}
string Angle::toString()
{
stringstream ss;
ss
return ss.str();
}
int main()
{ double lat, lon; Angle latA, lonA; cout > lat; cout > lon;
latA = Angle(lat, 0); lonA = Angle(lon, 1);
cout
// using GPS to DMS constructor cout > lat; Angle latC(lat, 0);
cout > lon; Angle lonC(lon, 1);
cout
return 0;
}
Error screenshot:

How it supposed to be displayed:

Enter GPS-style coordinates: Latitude: (+/- 0-90.00): 23.4 Longitude: (+/- 0-180.00): 45.6 DMS, (23 23' 60.00" N, 45 35' 59.99" E) Enter GPS-style coordinates: Latitude: (+/- 0-90.00): 23.4 Longitude: (+/- 0-180.00): 45.6 DMS: (23 23' 60.00" N, 45 35' 59.99" E) Enter GPS-style Coordinates: Lattitude (+/- 090.00): 23.4 Longitude (+/- 0-180.00):45.6 Converted from GPS to DMS, 23.4, 45.6 is : 23 23' 6'' N, 45 35' 59.99' E Process returned 0 (0x0) execution time : 11.581 S Press any key to continue
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
