1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
// BlankConsoleLab.cpp : This file contains the 'main' function. Program execution begins and ends there.
// Jacob Wilson, cst116, Lab2, 11-5-2022
#include <iostream> // cout, cin, endl
#include <iomanip>
#include <stdio.h> // printf
#include <math.h> // pow
#include <cmath> // pow
using namespace std; //Allows for std to not be needed for every std:: item
using std::cout; //Prints to window
using std::cin; //Reads from user
using std::endl; //Ends current line
const float FMAX = 121;
const float FMIN = -80;
const float CMAX = 49.5;
const float CMIN = -62; //Set values for minimum and maximum temperatures, both Fahrenheit and Celsius.
float CtoF(float Fahrenheit, float Celsius) { //float function so that it returns a float for Fahrenheit (more precise)
Fahrenheit = (Celsius * 9.0 / 5.0) + 32.0; //Converts Celsius to Fahrenheit
return Fahrenheit; //Returns the newly defined fahrenheit to main
}
float WindSpeedFinder(float* windspeed) { //Float function to return float value
Loop2: //Placeholder to loop back to
cout << "Please enter the wind speed between 0 and 231 mph: "; //Prompts user to enter a wind speed
cin >> *windspeed; //Reads in windspeed from user
if (*windspeed <= 231 && *windspeed >= 0) {
cout << "\n\tThe windspeed is " << *windspeed << " mph." << endl;
return *windspeed; //If the windspeed is between the min and max provided, windspeed will be returned
}
else {
goto Loop2; //Goes back to placeholder to Loop in case of invalid response (past limits)
}
}
float WindChill(float TEMP, float SPEED, float Chill) { //Converts wind speed and Fahrenheit to wind chill
float x = 0.16; //placeholder value for equation (faster)
Chill = 35.74 + (0.6215 * TEMP) - (35.75 * (pow(SPEED, x))) + (0.4275 * TEMP * (pow(SPEED, x))); //equation to convert to wind chill
return Chill; //returns Chill to main
}
int main() //Main function
{
float Celsius = 0.0; //Defines Celsius for the conversion function
float Fahrenheit = 0.0; //Defines Fahrenheit for the conversion function
float windspeed = 0.0; //Defines windspeed
float Chill = 0.0; //Defines Chill
Loop: //Placeholder to loop back to
cout << "Please enter a temperature between -62 and 49.5 degrees Celsius: "; //Prompts user to enter a temperature in Celsius
cin >> Celsius; //Reads in Celsius from the user input
if (Celsius <= CMAX && Celsius >= CMIN) {
cout << "\t" << Celsius << " Degrees Celsius is approximately " << CtoF(Fahrenheit, Celsius) << " Degrees Fahrenheit\n\n";
//if the value of Celsius is between the limits, the celsius to fahrenheit function will be run and returned, then printed
}
else {
goto Loop; //Goes back to placeholder to Loop in case of invalid response (past limits)
}
float TEMP = CtoF(Fahrenheit, Celsius); //Re-defines the value returned from celsius to fahrenheit function
float SPEED = WindSpeedFinder(&windspeed); //Re-defines the value returned from the wind speed finder function
float CHILL = WindChill(TEMP, SPEED, Chill); //Re-defines the value returned from the wind chill function
cout << "\tThe wind chill is: " << CHILL << endl; //Prints the windchill
}
|