diff options
Diffstat (limited to 'BlankConsoleLab/CST116-Lab2-Havaldar.cpp')
| -rw-r--r-- | BlankConsoleLab/CST116-Lab2-Havaldar.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/BlankConsoleLab/CST116-Lab2-Havaldar.cpp b/BlankConsoleLab/CST116-Lab2-Havaldar.cpp new file mode 100644 index 0000000..6a43967 --- /dev/null +++ b/BlankConsoleLab/CST116-Lab2-Havaldar.cpp @@ -0,0 +1,99 @@ +// BlankConsoleLab.cpp : This file contains the 'main' function. Program execution begins and ends there. +// + +#include <iostream> + +using namespace std; + +float C_to_F(float x); +void getUserInputs(float& value, float min, float max, string type); +float calculate(float mph, float degrees); + +//m is min; M is max +//Fahrenheit Constants +const float Fm = -80; +const float FM = 121; +//Celcius Constants +const float Cm = -62; +const float CM = 49.5; +//Wind Speed Constants +const float Wm = 0; +const float WM = 231; + +/* +Function: C_to_F +Input: Celcius(float) +Return: Fahrenheit(float) +Purpose: Converts celius to fahrenheit +*/ +float C_to_F(float x) +{ + x *= 1.8; + x += 32; + return x; +} + +/* +Function: GetUserInputs +Input: variable(float), min value(float) max value(float), variable's type(string) +Return: None +Purpose: Ask user for the value of type between min and max +*/ +void getUserInputs(float& value, float min, float max, string type) +{ + while (value <= min || value >= max) + { + cout << "What is the value of " << type << "?" << endl; + cout << "(Enter a value between " << min << " & " << max << ")" << endl; + cin >> value; + } +} + +/* +Function: calculate +Input: MPH(float), degrees F(float) +Return: Wind Chill(float) +Purpose: To calculate wind chill from wind speed and temperature +*/ +float calculate(float mph, float degrees) +{ + return (35.74 + (0.6215 * degrees) - (35.75 * pow(mph, 0.16)) + (0.4275 * degrees * pow(mph, 0.16))); +} + +/* +Function: main() +Input:None +Return:None +Purpose: Ask user what degree they will enter temp in and run functions based off that +*/ +int main() +{ + string CorF; + float temp; + float wSpeed; + float windChill; + + while (CorF != "C" && CorF != "F") + { + cout << "Do you want to enter in Fahrenheit (F) or Celsius (C)" << endl; + cin >> CorF; + } + + if (CorF == "F") + { + getUserInputs(temp, Fm, FM, "Fahrenheit"); + } + else + { + getUserInputs(temp, Cm, CM, "Celcius"); + temp = C_to_F(temp); + cout << "That is " << temp << " degrees in Fahrenheit" << endl; + } + + getUserInputs(wSpeed, Wm, WM, "Wind Speed"); + + windChill = calculate(wSpeed, temp); + + cout << "At " << temp << " degrees Fahrenheit and at a wind speed of " << wSpeed << "MPH, the windchill is " << windChill << "."; +} + |