Class that holds Course information

Dependents:   Course_Example course_input class_finder

Committer:
kkizirian
Date:
Thu Dec 08 21:39:09 2016 +0000
Revision:
9:8fea357ee7a5
Parent:
8:f235174016c8
Updated some building lat and long positions

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kkizirian 0:72f706b36195 1 #include "Course.h"
kkizirian 5:7d792c9848bb 2 //#include <string>
kkizirian 0:72f706b36195 3
kkizirian 6:f231ecc9b944 4 map<string, float> create_lat_map() {
kkizirian 2:8f163dc0b6c4 5 map<string, float> m;
kkizirian 2:8f163dc0b6c4 6 m["CLH"] = 33.774801;
kkizirian 2:8f163dc0b6c4 7 m["COC"] = 33.777442;
kkizirian 9:8fea357ee7a5 8 m["HWY"] = 33.777480;
kkizirian 9:8fea357ee7a5 9 m["ICR"] = 33.775439;
kkizirian 6:f231ecc9b944 10 m["KLS"] = 33.777262;
kkizirian 9:8fea357ee7a5 11 m["SCH"] = 33.776508;
kkizirian 9:8fea357ee7a5 12 m["SKI"] = 33.773611;
kkizirian 6:f231ecc9b944 13 m["VAN"] = 33.775991;
kkizirian 2:8f163dc0b6c4 14 return m;
kkizirian 2:8f163dc0b6c4 15 }
kkizirian 2:8f163dc0b6c4 16
kkizirian 2:8f163dc0b6c4 17 map<string, float> create_long_map() {
kkizirian 2:8f163dc0b6c4 18 map<string, float> m;
kkizirian 6:f231ecc9b944 19 m["CLH"] = -84.396389;
kkizirian 2:8f163dc0b6c4 20 m["COC"] = -84.397259;
kkizirian 8:f235174016c8 21 m["HWY"] = -84.398582;
kkizirian 9:8fea357ee7a5 22 m["ICR"] = -84.401250;
kkizirian 6:f231ecc9b944 23 m["KLS"] = -84.396003;
kkizirian 9:8fea357ee7a5 24 m["SCH"] = -84.388081;
kkizirian 8:f235174016c8 25 m["SKI"] = -84.395897;
kkizirian 6:f231ecc9b944 26 m["VAN"] = -84.397128;
kkizirian 2:8f163dc0b6c4 27 return m;
kkizirian 2:8f163dc0b6c4 28 }
kkizirian 2:8f163dc0b6c4 29
kkizirian 2:8f163dc0b6c4 30 map<string, string> create_names_map() {
kkizirian 2:8f163dc0b6c4 31 map<string, string> m;
kkizirian 2:8f163dc0b6c4 32 m["CLH"] = "Clough";
kkizirian 3:e2024ec77d96 33 m["COC"] = "CoC";
kkizirian 8:f235174016c8 34 m["HWY"] = "Howey";
kkizirian 8:f235174016c8 35 m["ICR"] = "IC";
kkizirian 2:8f163dc0b6c4 36 m["KLS"] = "Klaus";
kkizirian 8:f235174016c8 37 m["SCH"] = "CoB";
kkizirian 8:f235174016c8 38 m["SKI"] = "Skiles";
kkizirian 4:bc4b05dacca3 39 m["VAN"] = "VanLeer";
kkizirian 2:8f163dc0b6c4 40 return m;
kkizirian 6:f231ecc9b944 41 }
kkizirian 2:8f163dc0b6c4 42
kkizirian 6:f231ecc9b944 43 map<string, float> Course::buildingLAT = create_lat_map();
kkizirian 6:f231ecc9b944 44 map<string, float> Course::buildingLONG = create_long_map();
kkizirian 6:f231ecc9b944 45 map<string, string> Course::buildingNames = create_names_map();
kkizirian 0:72f706b36195 46
kkizirian 0:72f706b36195 47 Course :: Course(string pAbbreviatedName, int pHour, int pMinute, string pAMPM) {
kkizirian 5:7d792c9848bb 48
kkizirian 6:f231ecc9b944 49 /*if (pAbbreviatedName == "CLH") {
kkizirian 5:7d792c9848bb 50 fullName = "Clough";
kkizirian 5:7d792c9848bb 51 latitude = 33.774801;
kkizirian 6:f231ecc9b944 52 longitude = -84.396389;
kkizirian 5:7d792c9848bb 53 }
kkizirian 5:7d792c9848bb 54 else if (pAbbreviatedName == "COC") {
kkizirian 5:7d792c9848bb 55 fullName = "CoC";
kkizirian 5:7d792c9848bb 56 latitude = 33.777442;
kkizirian 5:7d792c9848bb 57 longitude = -84.397259;
kkizirian 5:7d792c9848bb 58 }
kkizirian 5:7d792c9848bb 59 else if (pAbbreviatedName == "KLS") {
kkizirian 5:7d792c9848bb 60 fullName = "Klaus";
kkizirian 6:f231ecc9b944 61 latitude = 33.777262;
kkizirian 6:f231ecc9b944 62 longitude = -84.396003;
kkizirian 5:7d792c9848bb 63 }
kkizirian 5:7d792c9848bb 64 else if (pAbbreviatedName == "VAN") {
kkizirian 5:7d792c9848bb 65 fullName = "VanLeer";
kkizirian 5:7d792c9848bb 66 latitude = 33.776000;
kkizirian 5:7d792c9848bb 67 longitude = -84.397132;
kkizirian 6:f231ecc9b944 68 }*/
kkizirian 5:7d792c9848bb 69
kkizirian 2:8f163dc0b6c4 70 //createBuildingMaps();
kkizirian 0:72f706b36195 71 abbreviatedName = pAbbreviatedName;
kkizirian 6:f231ecc9b944 72 fullName = buildingNames[pAbbreviatedName];
kkizirian 6:f231ecc9b944 73 latitude = buildingLAT[pAbbreviatedName];
kkizirian 6:f231ecc9b944 74 longitude = buildingLONG[pAbbreviatedName];
kkizirian 0:72f706b36195 75 ampm = pAMPM;
kkizirian 0:72f706b36195 76 hour = pHour;
kkizirian 0:72f706b36195 77 minute = pMinute;
kkizirian 0:72f706b36195 78 }
kkizirian 0:72f706b36195 79
kkizirian 0:72f706b36195 80 string Course :: getAbbreviatedName() {
kkizirian 0:72f706b36195 81 return abbreviatedName;
kkizirian 0:72f706b36195 82 }
kkizirian 0:72f706b36195 83
kkizirian 0:72f706b36195 84 string Course :: getFullName() {
kkizirian 0:72f706b36195 85 return fullName;
kkizirian 0:72f706b36195 86 }
kkizirian 0:72f706b36195 87
kkizirian 0:72f706b36195 88 int Course :: getHour() {
kkizirian 0:72f706b36195 89 return hour;
kkizirian 0:72f706b36195 90 }
kkizirian 0:72f706b36195 91
kkizirian 2:8f163dc0b6c4 92 int Course :: getHour_forCompare() {
kkizirian 2:8f163dc0b6c4 93 if (hour == 12)
kkizirian 2:8f163dc0b6c4 94 return 0;
kkizirian 2:8f163dc0b6c4 95 else
kkizirian 3:e2024ec77d96 96 return hour;
kkizirian 2:8f163dc0b6c4 97 }
kkizirian 2:8f163dc0b6c4 98
kkizirian 7:fe9fcb384036 99 int Course :: getHour_inMilitaryTime() {
kkizirian 7:fe9fcb384036 100 if (this->getAMPM() == "PM")
kkizirian 7:fe9fcb384036 101 return hour + 12;
kkizirian 7:fe9fcb384036 102 else
kkizirian 7:fe9fcb384036 103 return hour;
kkizirian 7:fe9fcb384036 104
kkizirian 7:fe9fcb384036 105 }
kkizirian 7:fe9fcb384036 106
kkizirian 5:7d792c9848bb 107 string Course :: getMinute_toString() {
kkizirian 5:7d792c9848bb 108 char minuteBuf[3];
kkizirian 5:7d792c9848bb 109 sprintf(minuteBuf, "%i", minute);
kkizirian 5:7d792c9848bb 110 minuteBuf[2] = '\0';
kkizirian 4:bc4b05dacca3 111
kkizirian 5:7d792c9848bb 112 string minuteStr = minuteBuf;
kkizirian 4:bc4b05dacca3 113
kkizirian 5:7d792c9848bb 114 if (this->getMinute() < 10)
kkizirian 5:7d792c9848bb 115 minuteStr = "0" + minuteStr;
kkizirian 4:bc4b05dacca3 116
kkizirian 5:7d792c9848bb 117 return minuteStr;
kkizirian 4:bc4b05dacca3 118 }
kkizirian 4:bc4b05dacca3 119
kkizirian 0:72f706b36195 120 int Course :: getMinute() {
kkizirian 0:72f706b36195 121 return minute;
kkizirian 0:72f706b36195 122 }
kkizirian 0:72f706b36195 123
kkizirian 0:72f706b36195 124 float Course :: getLat() {
kkizirian 0:72f706b36195 125 return latitude;
kkizirian 0:72f706b36195 126 }
kkizirian 0:72f706b36195 127
kkizirian 0:72f706b36195 128 float Course :: getLong() {
kkizirian 0:72f706b36195 129 return longitude;
kkizirian 0:72f706b36195 130 }
kkizirian 0:72f706b36195 131
kkizirian 0:72f706b36195 132 string Course :: getAMPM() {
kkizirian 0:72f706b36195 133 return ampm;
kkizirian 0:72f706b36195 134 }
kkizirian 0:72f706b36195 135
kkizirian 0:72f706b36195 136 int Course :: getAMPM_toInt() {
kkizirian 0:72f706b36195 137 if (ampm == "AM")
kkizirian 0:72f706b36195 138 return 0;
kkizirian 0:72f706b36195 139 else
kkizirian 0:72f706b36195 140 return 1;
kkizirian 0:72f706b36195 141 }
kkizirian 0:72f706b36195 142
kkizirian 0:72f706b36195 143 string Course :: getFileString() {
kkizirian 0:72f706b36195 144 string output = "";
kkizirian 0:72f706b36195 145 char hourBuf[3];
kkizirian 0:72f706b36195 146 char minuteBuf[3];
kkizirian 0:72f706b36195 147 sprintf(hourBuf, "%i", hour);
kkizirian 0:72f706b36195 148 sprintf(minuteBuf, "%i", minute);
kkizirian 0:72f706b36195 149
kkizirian 0:72f706b36195 150 string hourStr = hourBuf;
kkizirian 0:72f706b36195 151 string minuteStr = minuteBuf;
kkizirian 1:b02713ff0bd5 152
kkizirian 1:b02713ff0bd5 153 if (this->getHour() < 10)
kkizirian 1:b02713ff0bd5 154 hourStr = "0" + hourStr;
kkizirian 1:b02713ff0bd5 155
kkizirian 1:b02713ff0bd5 156 if (this->getMinute() < 10)
kkizirian 1:b02713ff0bd5 157 minuteStr = "0" + minuteStr;
kkizirian 0:72f706b36195 158
kkizirian 0:72f706b36195 159 output = this->getAbbreviatedName() + "," + hourStr + "," +
kkizirian 0:72f706b36195 160 minuteStr + "," + this->getAMPM();
kkizirian 0:72f706b36195 161 return output;
kkizirian 0:72f706b36195 162 }
kkizirian 0:72f706b36195 163
kkizirian 0:72f706b36195 164 string Course :: getDisplayString() {
kkizirian 0:72f706b36195 165 string output = "";
kkizirian 0:72f706b36195 166 char hourBuf[3];
kkizirian 0:72f706b36195 167 char minuteBuf[3];
kkizirian 0:72f706b36195 168 sprintf(hourBuf, "%i", hour);
kkizirian 0:72f706b36195 169 sprintf(minuteBuf, "%i", minute);
kkizirian 0:72f706b36195 170
kkizirian 0:72f706b36195 171 string hourStr = hourBuf;
kkizirian 0:72f706b36195 172 string minuteStr = minuteBuf;
kkizirian 0:72f706b36195 173
kkizirian 0:72f706b36195 174 if (this->getMinute() < 10) {
kkizirian 0:72f706b36195 175 minuteStr = "0" + minuteStr;
kkizirian 0:72f706b36195 176 }
kkizirian 0:72f706b36195 177
kkizirian 4:bc4b05dacca3 178 output = this->getFullName() + " at " + hourStr + ":" + minuteStr + "" + this->getAMPM();
kkizirian 0:72f706b36195 179 return output;
kkizirian 0:72f706b36195 180 }
kkizirian 2:8f163dc0b6c4 181 /*
kkizirian 0:72f706b36195 182 void Course :: createBuildingMaps() {
kkizirian 0:72f706b36195 183 buildingLAT["ALN"] = 33.776078; buildingLONG["ALN"] = -84.398785;
kkizirian 0:72f706b36195 184 buildingNames["ALN"] = "Allen";
kkizirian 0:72f706b36195 185 buildingLAT["BUR"] = 33.775660; buildingLONG["BUR"] = -84.398222;
kkizirian 0:72f706b36195 186 buildingNames["BUR"] = "Burger-Henry";
kkizirian 0:72f706b36195 187 buildingLAT["CAD"] = 33.776631; buildingLONG["CAD"] = -84.396969;
kkizirian 0:72f706b36195 188 buildingNames["CAD"] = "Caddell";
kkizirian 0:72f706b36195 189 buildingLAT["CHR"] = 33.777959; buildingLONG["CHR"] = -84.397051;
kkizirian 0:72f706b36195 190 buildingNames["CHR"] = "Cherry";
kkizirian 0:72f706b36195 191 buildingLAT["CLH"] = 33.774801; buildingLONG["CLH"] = -84.396376;
kkizirian 0:72f706b36195 192 buildingNames["CLH"] = "Clough";
kkizirian 0:72f706b36195 193 buildingLAT["COC"] = 33.777442; buildingLONG["COC"] = -84.397259;
kkizirian 0:72f706b36195 194 buildingNames["COC"] = "College of Computing";
kkizirian 0:72f706b36195 195 buildingLAT["COD"] = 33.776010; buildingLONG["COD"] = -84.395561;
kkizirian 0:72f706b36195 196 buildingNames["COD"] = "College of Design";
kkizirian 0:72f706b36195 197 buildingLAT["COO"] = 33.772724; buildingLONG["COO"] = -84.395770;
kkizirian 0:72f706b36195 198 buildingNames["COO"] = "Coon Building";
kkizirian 0:72f706b36195 199 buildingLAT["CCH"] = 33.778216; buildingLONG["CCH"] = -84.404506;
kkizirian 0:72f706b36195 200 buildingNames["CCH"] = "Couch";
kkizirian 0:72f706b36195 201 buildingLAT["FOR"] = 33.778843; buildingLONG["FOR"] = -84.395849;
kkizirian 0:72f706b36195 202 buildingNames["FOR"] = "Ford";
kkizirian 0:72f706b36195 203 buildingLAT["GUG"] = 33.771628; buildingLONG["GUG"] = -84.395775;
kkizirian 0:72f706b36195 204 buildingNames["GUG"] = "Guggenheim";
kkizirian 0:72f706b36195 205 buildingLAT["HWY"] = 33.777498; buildingLONG["HWY"] = -84.398582;
kkizirian 0:72f706b36195 206 buildingNames["HWY"] = "Howey";
kkizirian 0:72f706b36195 207 buildingLAT["ICR"] = 33.775448; buildingLONG["ICR"] = -84.401261;
kkizirian 0:72f706b36195 208 buildingNames["ICR"] = "Instructional Center";
kkizirian 0:72f706b36195 209 buildingLAT["IVN"] = 33.774001; buildingLONG["IVN"] = -84.404259;
kkizirian 0:72f706b36195 210 buildingNames["IVN"] = "Ivan Allen";
kkizirian 0:72f706b36195 211 buildingLAT["KLS"] = 33.777244; buildingLONG["KLS"] = -84.396256;
kkizirian 0:72f706b36195 212 buildingNames["KLS"] = "Klaus";
kkizirian 0:72f706b36195 213 buildingLAT["LVE"] = 33.776730; buildingLONG["LVE"] = -84.401807;
kkizirian 0:72f706b36195 214 buildingNames["LVE"] = "Love";
kkizirian 0:72f706b36195 215 buildingLAT["MCS"] = 33.779068; buildingLONG["MCS"] = -84.398651;
kkizirian 0:72f706b36195 216 buildingNames["MCS"] = "Marcus Nanotech";
kkizirian 0:72f706b36195 217 buildingLAT["MSN"] = 33.776685; buildingLONG["MSN"] = -84.398896;
kkizirian 0:72f706b36195 218 buildingNames["MSN"] = "Mason";
kkizirian 0:72f706b36195 219 buildingLAT["PET"] = 33.778946; buildingLONG["PET"] = -84.397158;
kkizirian 0:72f706b36195 220 buildingNames["PET"] = "Petit";
kkizirian 0:72f706b36195 221 buildingLAT["SCH"] = 33.776562; buildingLONG["SCH"] = -84.388060;
kkizirian 0:72f706b36195 222 buildingNames["SCH"] = "Scheller";
kkizirian 0:72f706b36195 223 buildingLAT["SKI"] = 33.773603; buildingLONG["SKI"] = -84.395897;
kkizirian 0:72f706b36195 224 buildingNames["SKI"] = "Skiles";
kkizirian 0:72f706b36195 225 buildingLAT["VAN"] = 33.776000; buildingLONG["VAN"] = -84.397132;
kkizirian 0:72f706b36195 226 buildingNames["VAN"] = "Van Leer";
kkizirian 2:8f163dc0b6c4 227 }*/