aboutsummaryrefslogtreecommitdiff
path: root/CST 126/Homework 1/TempLogHelper.hpp
diff options
context:
space:
mode:
authorreecepwarner <[email protected]>2024-04-20 11:16:42 -0700
committerGitHub <[email protected]>2024-04-20 11:16:42 -0700
commit58e7209a36a87e13c31ac9c598c7130c62d77535 (patch)
tree8bae32b126c864b5f2a78427262fdb8d01a9f1a4 /CST 126/Homework 1/TempLogHelper.hpp
parentFinished guessing game (diff)
downloadhomework-1-reecepwarner-58e7209a36a87e13c31ac9c598c7130c62d77535.tar.xz
homework-1-reecepwarner-58e7209a36a87e13c31ac9c598c7130c62d77535.zip
Adding basic unit test to solution (#2)
* unit test * Big changes to TempLog * templog virtuallycomplete * minor changes and tidying up --------- Co-authored-by: rPatrickWarner <[email protected]>
Diffstat (limited to 'CST 126/Homework 1/TempLogHelper.hpp')
-rw-r--r--CST 126/Homework 1/TempLogHelper.hpp125
1 files changed, 122 insertions, 3 deletions
diff --git a/CST 126/Homework 1/TempLogHelper.hpp b/CST 126/Homework 1/TempLogHelper.hpp
index 4574f9e..18a8d35 100644
--- a/CST 126/Homework 1/TempLogHelper.hpp
+++ b/CST 126/Homework 1/TempLogHelper.hpp
@@ -1,10 +1,129 @@
#ifndef TEMP_LOG_HELPER_HPP
#define TEMP_LOG_HELPER_HPP
-#include "MenuHelper.hpp"
-struct Week {
- float DayHigh, DayLow;
+
+#include "GuessingHelper.hpp"
+struct Temperature {
+ float High;
+ float Low;
+};
+
+struct DaysOfWeek {
+ char First[7] = { "Monday" };
+ char Second[8] = { "Tuesday" };
+ char Third[10] = { "Wednesday" };
+ char Fourth[9] = { "Thursday" };
+ char Fifth[7] = { "Friday" };
+ char Sixth[9] = { "Saturday" };
+ char Seventh[7] = { "Sunday" };
+
};
+float FarenheitToCelsius(float Temp);
+void GreatLow(Temperature* WeekLog);
+void GreatHigh(Temperature* WeekLog);
+void TemperatureAverage(Temperature* WeekLog);
+void TemperatureDifference(Temperature* WeekLog);
+void WeeklyTemp(const char* Prompt1, const char* Prompt2);
+
+
+float FarenheitToCelsius(float Temp)
+{
+ float Celsius = 0.0;
+
+ Celsius = (Temp - 32) * 5 / 9;
+
+ return Celsius;
+}
+
+void GreatLow(Temperature* WeekLog)
+{
+ float GreatestLow = 0.0;
+
+ GreatestLow = WeekLog[0].Low;
+
+ for (auto i = 1u; i < 6; i++)
+ {
+ if (WeekLog[i].Low < GreatestLow)
+ {
+ GreatestLow = WeekLog[i].Low;
+ }
+ }
+ std::cout << "Your weekly low was " << GreatestLow << " degrees Farenheit! That is " <<
+ FarenheitToCelsius(GreatestLow) << " degrees Celsius!\n" << std::endl;
+}
+
+void GreatHigh(Temperature* WeekLog)
+{
+ float GreatestHigh = 0.0;
+
+ for (auto i = 0u; i < 7; i++)
+ {
+ if (WeekLog[i].High > GreatestHigh)
+ {
+ GreatestHigh = WeekLog[i].High;
+ }
+ }
+
+ std::cout << "Your weekly high was " << GreatestHigh << " degrees Farenheit! That is " <<
+ FarenheitToCelsius(GreatestHigh) << " degrees Celsius!\n" << std::endl;
+}
+
+void TemperatureAverage(Temperature* WeekLog)
+{
+ float AverageTemp = 0.0;
+ float Sum = 0.0;
+
+ for (auto i = 0u; i < 7; i++)
+ {
+ Sum += (WeekLog[i].High + WeekLog[i].Low);
+ }
+ AverageTemp = Sum / 14;
+
+ std::cout << "Your weekly average temperature was " << AverageTemp << " degrees Farenheit! That is " <<
+ FarenheitToCelsius(AverageTemp) << " degrees Celsius!\n" << std::endl;
+
+}
+
+void TemperatureDifference(Temperature* WeekLog)
+{
+ float HighLowDifference = 0.0;
+ float HighLowStorage[7]{};
+
+ for (auto i = 0u; i < 7; i++)
+ {
+ HighLowDifference = WeekLog[i].High - WeekLog[i].Low;
+ HighLowStorage[i] = HighLowDifference;
+ }
+
+ float GreatestDifference = 0.0;
+ for (auto j = 0u; j < 7; j++)
+ {
+ if (HighLowStorage[j] > GreatestDifference)
+ {
+ GreatestDifference = HighLowStorage[j];
+ }
+ }
+ std::cout << "The largest temperature differential was " << GreatestDifference << " degrees Farenheit! That is " <<
+ FarenheitToCelsius(GreatestDifference) << " degrees Celsius!\n" << std::endl;
+}
+
+void WeeklyTemp(const char* Prompt1, const char* Prompt2)
+{
+ Temperature WeekTemp[7];
+ for (auto i = 0u; i <7; i++)
+ {
+ WeekTemp[i].High = InputFloat(Prompt1);
+ WeekTemp[i].Low = InputFloat(Prompt2);
+ system("cls");
+ }
+ TemperatureDifference(WeekTemp);
+ TemperatureAverage(WeekTemp);
+ GreatHigh(WeekTemp);
+ GreatLow(WeekTemp);
+}
+
+
+