#include #include 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 - 1 || value >= max + 1) { 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() { char CorF = '0'; float temp = 999999; float wSpeed = 999999; float windChill = 0; 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 << "."; }