blob: b9db15f8d07eb4c3869146cd5a91c494dd16db36 (
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
93
94
95
96
|
/*
Andrei Florea - CST 116 - Lab 2 - Calculating wind chill
*/
#include <iostream>
using namespace std;
using std::cout;
using std::cin;
using std::endl;
void user_entry_temp(int& temperature, char decision);
void wind_speed(int& wind_speed);
int convert_to_f(int c_temp);
const int F_MAX = 121;
const int F_MIN = -80;
const float C_MAX = 42.5;
const int C_MIN = -62;
const int W_MAX = 231;
const int W_MIN = 0;
int main()
{
// Driver function for the program
int temperature = -100;
int wind_speed = -100;
int chill;
char temp_decision;
cout << "Do you want to input temperature in Farenheit (F) or Celsius (C)?" << endl;
cin >> temp_decision;
temp_decision = tolower(temp_decision);
user_entry_temp(temperature, temp_decision);
cout << temperature;
}
void user_entry_temp(int& temperature, char decision)
{
// Takes argument by reference and limits the input to a specific range for temperature, doesn't return, it changes by reference
if (decision != 'f' && decision != 'c') // Ensures that the temp_decision is either f or c.
{
while (decision != 'f' && decision != 'c')
{
cout << "Wrong input for temperature, do you want temperature in Farenheit (F) or Celsius (C)?" << endl;
cin >> decision;
decision = tolower(decision);
}
}
if (decision == 'c')
{
while (temperature < C_MIN || temperature > C_MAX) // Ensures input for temperature is within the range
{
cout << "Enter a value in Celsius for temperature (-62C - 42.5C inclusive): " << endl;
cin >> temperature;
}
temperature = convert_to_f(temperature); // Calls to convert temperature to Farenheit
}
else if (decision == 'f')
{
while (temperature < F_MIN || temperature > F_MAX) // Ensures input for temperature is within the range
{
cout << "Enter a value in Farenheit for temperature (-80F - 121F inclusive): " << endl;
cin >> temperature;
}
}
}
void user_entry_speed(int& wind_speed)
{
// Takes user input for wind_speed and makes sure its within the given range, doesn't return it changes by reference
while (wind_speed < W_MIN || wind_speed > W_MAX)
{
cout << "Enter a speed for the wind in MPH (0 - 231, inclusive): " << endl;
cin >> wind_speed;
}
}
int convert_to_f(int c_temp)
{
// Takes input in celsius, and will convert it to farenheit, returns converted temp
c_temp = 1.8 * c_temp + 32;
return c_temp;
}
|