summaryrefslogtreecommitdiff
path: root/BlankConsoleLab/cst116-lab2-wilson.cpp
blob: c957e32822b7f98716cbb8dc59cb50cc9d6a9de4 (plain) (blame)
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.
//

#include <iostream>
#include <iomanip>
#include <stdio.h>      /* printf */
#include <math.h>       /* pow */
#include <cmath>        /* pow */


using namespace std;


using std::cout;
using std::cin;
using std::endl;


const float FMAX = 121; 
const float FMIN = -80;
const float CMAX = 49.5;
const float CMIN = -62; //Set values for minimum and maximum temperatures.


float CtoF(float Fahrenheit, float Celsius) { //float function so that it returns a float

    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:

    cout << "Please enter the wind speed between 0 and 231 mph: ";
    cin >> *windspeed;

    if (*windspeed <= 231 && *windspeed >= 0) {
        cout << "\n\tThe windspeed is " << *windspeed << " mph." << endl;
        return *windspeed;
    }
    else {
        goto Loop2; //Goes back to placeholder to Loop in case of invalid response (past limits)
    }

}


/*float WindChill(float Fahrenheit, float* windspeed) {

    double Chill = 35.74 + 0.6215 * Fahrenheit - 35.75 * (pow(*windspeed, 0.16)) + 0.4275 * Fahrenheit * (pow(*windspeed, 0.16));
   
    return Chill;

}*/


int main()
{
    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


    Loop: //Placeholder to loop back to

    cout << "Please enter a temperature between -62 and 49.5 degrees 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";
    }
    else {
        goto Loop; //Goes back to placeholder to Loop in case of invalid response (past limits)
    }


    WindSpeedFinder(&windspeed);


    //cout << "\n\tThe windchill is: " << WindChill(Fahrenheit, &windspeed) << endl;

    float x = 0.16;

    float Chill = 35.74 + (0.6215 * CtoF(Fahrenheit, Celsius)) - (35.75 * (pow(windspeed, x))) + (0.4275 * CtoF(Fahrenheit, Celsius) * (pow(windspeed, x)));

    cout << "\tThe wind chill is: " << Chill << endl;

}