example using the course class

Dependencies:   4DGL-uLCD-SE Course mbed SDFileSystem

Committer:
kkizirian
Date:
Mon Dec 05 01:03:19 2016 +0000
Revision:
2:84925a4bf964
Parent:
1:f603609389d5
Child:
3:4984f0a32f32
added comments to addClassToVector function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kkizirian 0:6ced83c58574 1 #include "mbed.h"
kkizirian 0:6ced83c58574 2 #include "Course.h"
kkizirian 0:6ced83c58574 3 #include <string>
kkizirian 0:6ced83c58574 4 #include <vector>
kkizirian 0:6ced83c58574 5 #include "uLCD_4DGL.h"
kkizirian 0:6ced83c58574 6
kkizirian 0:6ced83c58574 7 uLCD_4DGL uLCD(p9,p10,p11); // serial tx, serial rx, reset pin;
kkizirian 0:6ced83c58574 8 vector<Course> courseVec;
kkizirian 0:6ced83c58574 9 int addCourseToVector(vector<Course>& cVec, Course newCourse);
kkizirian 0:6ced83c58574 10
kkizirian 0:6ced83c58574 11 int main() {
kkizirian 0:6ced83c58574 12 Course course1("HWY", 6, 5, "PM");
kkizirian 0:6ced83c58574 13 Course course2("LVE", 8, 10, "AM");
kkizirian 0:6ced83c58574 14 Course course3("CLH", 8, 25, "AM");
kkizirian 0:6ced83c58574 15 Course course4("KLS", 8, 15, "AM");
kkizirian 0:6ced83c58574 16 Course course5("LVE", 2, 30, "PM");
kkizirian 0:6ced83c58574 17
kkizirian 1:f603609389d5 18 addCourseToVector(courseVec, course1);
kkizirian 1:f603609389d5 19 addCourseToVector(courseVec, course2);
kkizirian 1:f603609389d5 20 addCourseToVector(courseVec, course3);
kkizirian 1:f603609389d5 21 addCourseToVector(courseVec, course4);
kkizirian 1:f603609389d5 22 addCourseToVector(courseVec, course5);
kkizirian 0:6ced83c58574 23
kkizirian 0:6ced83c58574 24 uLCD.cls();
kkizirian 0:6ced83c58574 25 uLCD.locate(0, 1);
kkizirian 0:6ced83c58574 26 uLCD.printf("%s", courseVec[0].getDisplayString());
kkizirian 0:6ced83c58574 27 uLCD.locate(0, 2);
kkizirian 0:6ced83c58574 28 uLCD.printf("%s", courseVec[1].getDisplayString());
kkizirian 0:6ced83c58574 29 uLCD.locate(0, 3);
kkizirian 0:6ced83c58574 30 uLCD.printf("%s", courseVec[2].getDisplayString());
kkizirian 0:6ced83c58574 31 uLCD.locate(0, 4);
kkizirian 0:6ced83c58574 32 uLCD.printf("%s", courseVec[3].getDisplayString());
kkizirian 0:6ced83c58574 33 uLCD.locate(0, 5);
kkizirian 0:6ced83c58574 34 uLCD.printf("%s", courseVec[4].getDisplayString());
kkizirian 0:6ced83c58574 35 }
kkizirian 0:6ced83c58574 36
kkizirian 0:6ced83c58574 37 // this adds the paramter newCourse to the vector cVec in the correct
kkizirian 2:84925a4bf964 38 // location in the vector by time, returns 1 if successful and 0 if
kkizirian 2:84925a4bf964 39 // unsuccessful
kkizirian 0:6ced83c58574 40 int addCourseToVector(vector<Course>& cVec, Course newCourse) {
kkizirian 0:6ced83c58574 41
kkizirian 0:6ced83c58574 42 if (cVec.size() == 0) {
kkizirian 0:6ced83c58574 43 cVec.push_back(newCourse);
kkizirian 0:6ced83c58574 44 return 1;
kkizirian 0:6ced83c58574 45 }
kkizirian 0:6ced83c58574 46
kkizirian 0:6ced83c58574 47 for (int i = 0; i < cVec.size(); i++) {
kkizirian 0:6ced83c58574 48 if (cVec[i].getAMPM_toInt() < newCourse.getAMPM_toInt())
kkizirian 0:6ced83c58574 49 continue;
kkizirian 0:6ced83c58574 50 else if (newCourse.getAMPM_toInt() < cVec[i].getAMPM_toInt()) {
kkizirian 0:6ced83c58574 51 cVec.insert(cVec.begin()+i, newCourse);
kkizirian 0:6ced83c58574 52 return 1;
kkizirian 0:6ced83c58574 53 }
kkizirian 0:6ced83c58574 54 else if (cVec[i].getAMPM_toInt() == newCourse.getAMPM_toInt()) {
kkizirian 0:6ced83c58574 55 if (cVec[i].getHour() < newCourse.getHour())
kkizirian 0:6ced83c58574 56 continue;
kkizirian 0:6ced83c58574 57 else if (newCourse.getHour() < cVec[i].getHour()) {
kkizirian 0:6ced83c58574 58 cVec.insert(cVec.begin()+i, newCourse);
kkizirian 0:6ced83c58574 59 return 1;
kkizirian 0:6ced83c58574 60 }
kkizirian 0:6ced83c58574 61 else if (cVec[i].getHour() == newCourse.getHour()) {
kkizirian 0:6ced83c58574 62 if (cVec[i].getMinute() < newCourse.getMinute())
kkizirian 0:6ced83c58574 63 continue;
kkizirian 0:6ced83c58574 64 else if (newCourse.getMinute() < cVec[i].getMinute()) {
kkizirian 0:6ced83c58574 65 cVec.insert(cVec.begin()+i, newCourse);
kkizirian 0:6ced83c58574 66 return 1;
kkizirian 0:6ced83c58574 67 }
kkizirian 0:6ced83c58574 68 else if (cVec[i].getMinute() == newCourse.getMinute())
kkizirian 0:6ced83c58574 69 return 0;
kkizirian 0:6ced83c58574 70 }
kkizirian 0:6ced83c58574 71 }
kkizirian 0:6ced83c58574 72
kkizirian 0:6ced83c58574 73 if (i == (cVec.size() - 1)) {
kkizirian 0:6ced83c58574 74 cVec.push_back(newCourse);
kkizirian 0:6ced83c58574 75 return 1;
kkizirian 0:6ced83c58574 76 }
kkizirian 0:6ced83c58574 77 }
kkizirian 0:6ced83c58574 78 return 0;
kkizirian 0:6ced83c58574 79 }