ATC
Advanced Trip Computer
C:/Documents and Settings/Giorgio/Desktop/ATC-Windows7 (VS2010)/Latitude.h
Vai alla documentazione di questo file.
00001 
00006 #define NORD    1
00007 #define SUD             -1
00008 
00012 class Latitude {
00013 
00014 private:
00015 
00016 int orientation;                // -1 => Sud, +1 => Nord
00017 unsigned int degree;    // gradi
00018 unsigned int minute;    // primi
00019 unsigned int second;    // secondi
00020 
00021 public:
00022 
00031 Latitude(unsigned int d=0, unsigned int m=0, unsigned int s=0, int o = 1)
00032 {
00033  degree = 0;
00034  minute = 0;
00035  second = 0;
00036  orientation = 1;
00037  if (d<=89 && m<=59 && s<=59)
00038    {
00039         degree = d; minute = m; second = s;
00040    }
00041  else
00042      {
00043           if (d==90 && m==0 && s==0)
00044             {
00045                  degree = d; minute = 0; second = 0;
00046             }
00047           else
00048                   return;
00049       }
00050  if (o>=0)
00051    orientation = +1;
00052  else
00053          orientation = -1; 
00054 }
00058 int getOrientation(void)
00059 {
00060  return orientation;
00061 }
00065 unsigned int getDegree(void)
00066 {
00067  return degree;
00068 }
00072 unsigned int getMinute(void)
00073 {
00074  return minute;
00075 }
00079 unsigned int getSecond(void)
00080 {
00081  return second;
00082 }
00086 double getLatitude(void)
00087 {
00088  double latitude = (double)degree + (double)minute/60. + (double)second/3600.;
00089  if (orientation < 0)
00090    return (-latitude);
00091  else
00092      return latitude;
00093 }
00094 };