Radu-Adrian Marcu / Mbed OS SOFT253_GroupA_AssignmentRepo

Dependencies:   LPS25H hts221

Fork of SOFT253_Template_Weather_OS_54 by Stage-1 Students SoCEM

Committer:
FairyMental
Date:
Thu Apr 06 15:46:00 2017 +0000
Revision:
47:468a89d62c23
Parent:
45:9a33f2bc2b4e
Child:
52:b95572c3d4c4
List of measures now keeps track of time at which the measure has been taken.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
FairyMental 40:ba083993b481 1 #include "LinkedList.h"
FairyMental 40:ba083993b481 2 #include <stdio.h>
FairyMental 40:ba083993b481 3 #include <ctype.h>
FairyMental 40:ba083993b481 4 // constructor
FairyMental 40:ba083993b481 5 LinkedList::LinkedList()
FairyMental 42:b1f29874ab70 6 {
FairyMental 42:b1f29874ab70 7 size = 0;
FairyMental 40:ba083993b481 8 head = NULL;
FairyMental 42:b1f29874ab70 9 }
FairyMental 40:ba083993b481 10
FairyMental 40:ba083993b481 11 void LinkedList::addValueFront(Measure _measure){
FairyMental 40:ba083993b481 12 Node *n = new Node();
FairyMental 40:ba083993b481 13 n->measure = _measure;
FairyMental 40:ba083993b481 14 n->next = head;
FairyMental 40:ba083993b481 15
FairyMental 42:b1f29874ab70 16 head = n;
FairyMental 42:b1f29874ab70 17
FairyMental 42:b1f29874ab70 18 size++;
FairyMental 40:ba083993b481 19 }
FairyMental 42:b1f29874ab70 20 void LinkedList::addValueEnd(Measure _measure)
FairyMental 42:b1f29874ab70 21 {
FairyMental 42:b1f29874ab70 22 if(head == NULL)
FairyMental 40:ba083993b481 23 {
FairyMental 42:b1f29874ab70 24 Node *aux = new Node();
FairyMental 42:b1f29874ab70 25 aux->measure = _measure;
FairyMental 42:b1f29874ab70 26 aux->next = NULL;
FairyMental 42:b1f29874ab70 27 head = aux;
FairyMental 42:b1f29874ab70 28 }
FairyMental 42:b1f29874ab70 29 else
FairyMental 42:b1f29874ab70 30 {
FairyMental 42:b1f29874ab70 31 Node *n = head;
FairyMental 42:b1f29874ab70 32 while(n->next != NULL)
FairyMental 40:ba083993b481 33 {
FairyMental 42:b1f29874ab70 34 n = n->next;
FairyMental 42:b1f29874ab70 35 }
FairyMental 42:b1f29874ab70 36 Node *aux = new Node();
FairyMental 42:b1f29874ab70 37 aux->measure = _measure;
FairyMental 42:b1f29874ab70 38 aux->next = NULL;
FairyMental 42:b1f29874ab70 39 n->next = aux;
FairyMental 40:ba083993b481 40 }
FairyMental 42:b1f29874ab70 41 size++;
FairyMental 40:ba083993b481 42 }
FairyMental 40:ba083993b481 43 Measure LinkedList::popValueFRONT()
FairyMental 40:ba083993b481 44 {
FairyMental 40:ba083993b481 45 Node *n = head;
FairyMental 40:ba083993b481 46 Measure _measure = n->measure;
FairyMental 40:ba083993b481 47
FairyMental 40:ba083993b481 48 head = head->next;
FairyMental 40:ba083993b481 49 delete n;
FairyMental 42:b1f29874ab70 50
FairyMental 42:b1f29874ab70 51 size--;
FairyMental 42:b1f29874ab70 52
FairyMental 40:ba083993b481 53 return _measure;
FairyMental 42:b1f29874ab70 54 }
FairyMental 42:b1f29874ab70 55 void LinkedList::ListAll()
FairyMental 42:b1f29874ab70 56 {
FairyMental 42:b1f29874ab70 57 Node *n = head;
FairyMental 43:3983059e0d91 58 int i = 0;
FairyMental 42:b1f29874ab70 59 while(n->next != NULL)
FairyMental 42:b1f29874ab70 60 {
FairyMental 43:3983059e0d91 61 i++;
FairyMental 47:468a89d62c23 62 char *ptr = n->measure.date.ToString();
FairyMental 47:468a89d62c23 63 printf("%i. %s : T: %f | H: %f | P: %f |\r\n",i,ptr ,n->measure.temperature, n->measure.humidity, n->measure.pressure);
FairyMental 42:b1f29874ab70 64 n = n->next;
FairyMental 42:b1f29874ab70 65 }
FairyMental 43:3983059e0d91 66 }
FairyMental 43:3983059e0d91 67 void LinkedList::ListX(int x)
FairyMental 43:3983059e0d91 68 {
FairyMental 43:3983059e0d91 69 Node *n = head;
FairyMental 43:3983059e0d91 70 int i = 0;
FairyMental 43:3983059e0d91 71 while(n->next != NULL && i < x)
FairyMental 43:3983059e0d91 72 {
FairyMental 47:468a89d62c23 73 char *ptr = n->measure.date.ToString();
FairyMental 47:468a89d62c23 74 printf("%i. %s T: %f | H: %f | P: %f |\r\n",i,ptr , n->measure.temperature, n->measure.humidity, n->measure.pressure);
FairyMental 43:3983059e0d91 75 i++;
FairyMental 43:3983059e0d91 76 n = n->next;
FairyMental 43:3983059e0d91 77 }
FairyMental 43:3983059e0d91 78 }
FairyMental 43:3983059e0d91 79 void LinkedList::DeleteAll()
FairyMental 43:3983059e0d91 80 {
FairyMental 43:3983059e0d91 81 while(head->next != NULL)
FairyMental 43:3983059e0d91 82 {
FairyMental 43:3983059e0d91 83 Node *n = head;
FairyMental 43:3983059e0d91 84 head = head -> next;
FairyMental 43:3983059e0d91 85
FairyMental 43:3983059e0d91 86 delete n;
FairyMental 43:3983059e0d91 87
FairyMental 43:3983059e0d91 88 size = 0;
FairyMental 43:3983059e0d91 89 }
FairyMental 43:3983059e0d91 90 }
FairyMental 43:3983059e0d91 91 void LinkedList::DeleteX(int x)
FairyMental 43:3983059e0d91 92 {
FairyMental 43:3983059e0d91 93 int i = 0;
FairyMental 43:3983059e0d91 94 while(head->next != NULL && i < x)
FairyMental 43:3983059e0d91 95 {
FairyMental 43:3983059e0d91 96 Node *n = head;
FairyMental 43:3983059e0d91 97 head = head->next;
FairyMental 44:b523c9a9dd97 98
FairyMental 43:3983059e0d91 99 delete n;
FairyMental 44:b523c9a9dd97 100
FairyMental 44:b523c9a9dd97 101 i++;
FairyMental 43:3983059e0d91 102 }
FairyMental 43:3983059e0d91 103 size -= x;
FairyMental 45:9a33f2bc2b4e 104 }
FairyMental 45:9a33f2bc2b4e 105 int LinkedList::GetSize()
FairyMental 45:9a33f2bc2b4e 106 {
FairyMental 45:9a33f2bc2b4e 107 return size;
FairyMental 40:ba083993b481 108 }