aboutsummaryrefslogtreecommitdiff
path: root/CST 126/Homework 1/temperature.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'CST 126/Homework 1/temperature.hpp')
-rw-r--r--CST 126/Homework 1/temperature.hpp146
1 files changed, 146 insertions, 0 deletions
diff --git a/CST 126/Homework 1/temperature.hpp b/CST 126/Homework 1/temperature.hpp
new file mode 100644
index 0000000..38e5d4f
--- /dev/null
+++ b/CST 126/Homework 1/temperature.hpp
@@ -0,0 +1,146 @@
+#ifndef TEMPERATURE_H
+#define TEMPERATURE_H
+
+#include <iostream>
+
+#include "clear.hpp"
+
+using std::cout;
+using std::cin;
+using std::endl;
+
+
+struct temp
+{
+ float high;
+ float low;
+
+};
+
+inline void Day(int num)
+{
+ switch (num)
+ {
+ case 1:
+ cout << "Sunday";
+ break;
+ case 2:
+ cout << "Monday";
+ break;
+ case 3:
+ cout << "Tuesday";
+ break;
+ case 4:
+ cout << "Wednesday";
+ break;
+ case 5:
+ cout << "Thursday";
+ break;
+ case 6:
+ cout << "Friday";
+ break;
+ case 7:
+ cout << "Saturday";
+ break;
+ default:
+ cout << "Error";
+
+ }
+}
+
+inline void Populate(temp temperature[], int size)
+{
+
+
+ for (int i = 1; i < size; i++)
+ {
+
+ cout << "\nWhat is the high temp for ";
+ Day(i);
+ cout << "?: ";
+ cin >> temperature[i].high;
+
+ cout << "\nWhat is the low temp for ";
+ Day(i);
+ cout << "?: ";
+ cin >> temperature[i].low;
+ }
+
+}
+
+inline void AvgHiLo(const temp temperature[], const int size, float &averageHigh, float &averageLow, float &high, float &low, float &diff)
+{
+ float placeholder;
+ float count = 0;
+ high = temperature[1].high;
+ low = temperature[1].low;
+
+ for (int i = 1; i < size; i++)
+ {
+ placeholder = temperature[i].high - temperature[i].low;
+
+ if (diff < placeholder)
+ diff = placeholder;
+ if (high < temperature[i].high)
+ high = temperature[i].high;
+ if (low > temperature[i].low)
+ low = temperature[i].low;
+
+ averageHigh = averageHigh + temperature[i].high;
+ averageLow = averageLow + temperature[i].low;
+
+ count++;
+ }
+
+ averageHigh = averageHigh / count;
+ averageLow = averageLow / count;
+}
+
+inline bool MoreTemps()
+{
+ char again;
+
+ cout << "\nWould you like to log more temperatures? (Y/N): ";
+ cin >> again;
+
+ if (again == 'Y')
+ return true;
+ else
+ return false;
+}
+
+inline void StoreTemp()
+{
+ const int size = 8;
+
+ temp temperature[size];
+
+ float avgHi = 0;
+ float avgLo = 0;
+ float highest = 0;
+ float lowest = 0;
+ float diff = 0;
+
+ ClearScreen();
+
+ cout << "*************************************************************\n";
+ cout << "Welcome to the temperature logger!\nYou will be prompted to enter the high and low temp for each day of the week.\n";
+
+ Populate(temperature, size);
+ AvgHiLo(temperature, size, avgHi, avgLo, highest, lowest, diff);
+
+ ClearScreen();
+
+ cout << "The highest temp was:\n" << highest;
+ cout << "\nThe lowest temp was:\n" << lowest;
+ cout << "\nThe average high temp was:\n" << avgHi;
+ cout << "\nThe average low temp was:\n" << avgLo;
+ cout << "\nThe greatest difference in temp was:\n" << diff;
+
+ if (MoreTemps() == true)
+ StoreTemp();
+
+}
+
+
+#endif