diff options
| author | reecepwarner <[email protected]> | 2024-04-20 11:16:42 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-20 11:16:42 -0700 |
| commit | 58e7209a36a87e13c31ac9c598c7130c62d77535 (patch) | |
| tree | 8bae32b126c864b5f2a78427262fdb8d01a9f1a4 /CST 126/Homework 1/TempLogHelper.hpp | |
| parent | Finished guessing game (diff) | |
| download | homework-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.hpp | 125 |
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); +} + + + |