Class that holds Course information
Dependents: Course_Example course_input class_finder
Course.cpp@9:8fea357ee7a5, 2016-12-08 (annotated)
- 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?
User | Revision | Line number | New 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 | }*/ |