Commit 858c660

mo khan <mo@mokhan.ca>
2025-01-10 20:06:09
Add copy of the original file
1 parent 2398ca6
Changed files (1)
projects
projects/1/GoodDocsF2.cpp
@@ -0,0 +1,131 @@
+//: GoodDocs.cpp
+
+/*
+ Title: GoodDocsF.cpp
+ Description: Temperature Conversion Program
+ Date: December 8, 2013
+ Author: Richard S. Huntrods
+ Version: 1.0
+ Copyright: 2013 Richard S. Huntrods
+*/
+
+/*
+ DOCUMENTATION
+ 
+ Program Purpose:
+ 	Demonstrate proper format for documentation, test plans and comments.
+ 	Also demonstrate user prompts, keyboard input, simple calculations and output,
+ 	specifically converting temperatures from F to C.
+
+ Compile (assuming mingw compiler and opened command prompt): g++ -o GoodDocsF GoodDocsF.cpp
+ Execution (in a Command Prompt window): GoodDocsF.exe (or just GoodDocsF)
+ 
+ Classes: none
+
+ Variables:
+ 	input_units (char) = C or F to designate temperature units for the supplied input temperature.
+ 	output_units (char) = C or F to designate temperature units desired for the output conversion,
+ 	input_temp (float) = real (decimal) number supplied by user which is the input temperature.
+ 	output_temp (float) = calculated output temperature in output_units as a real (decimal) number.
+
+ Formulae:
+ 	The formula for converting temperatures from Fahrenheit to Celcius is:
+ 	T(C) = (T(F) - 32.0) * 5.0 / 9.0;
+ 	The formula for converting temperatures from Celcius to Fahrenheit is:
+ 	T(F) = (T(C) * 9.0 / 5.0) + 32.0
+
+ 	It is important to use decimal numbers especially in the division to avoid integer devision.
+ 	It is also important use use the parenthesis to enforce calculation order.
+*/
+
+/*
+ TEST PLAN
+ 
+ Normal case 1:
+ 	>What is the input temperature? 32
+ 	>What are the units of the input temperature (C for Celcius or F for Fahrenheit)? F
+ 	>Your input temperature is 32F which is 0C.
+
+ Normal case 2:
+ 	>What is the input temperature? 100
+ 	>What are the units of the input temperature (C for Celcius or F for Fahrenheit)? C
+ 	>Your input temperature is 100C which is 212F.
+
+ Bad Data case 1 (temperature out of range):
+ 	>What is the input temperature? -4000
+ 	>What are the units of the input temperature (C for Celcius or F for Fahrenheit)? C
+ 	>Your input temperature is -4000C which is out of range (less than -273.15C or -416F)..
+
+ Bad Data case 2 (incorrect units):
+ 	>What is the input temperature? -40
+ 	>What are the units of the input temperature (C for Celcius or F for Fahrenheit)? Q
+ 	>The units you have specified are not one of C (Celcius) or F (Fahrenheit).
+
+ Discussion:
+ 	The program accepts any integer or decimal input temperature and a unit character which must be either C, c, F or f.
+ 	The program then prints the input temperature as well as the temperature converted into the non-input units.
+ 	Temperature range is from -273C (-415F) to any positive number.
+ 
+*/
+
+#include <iostream> // Stream declarations
+using namespace std;
+
+int main(void) {
+	char input_units, output_units;
+	float input_temp, output_temp;
+	int error = 0;
+
+	// request and obtain name
+	cout << "What is the input temperature? ";
+	cin >> input_temp;
+
+	// request and obtain age
+	cout << "What are the units of the input temperature (C for Celcius or F for Fahrenheit)? ";
+	cin >> input_units;
+
+	// convert input units to upper case
+	input_units = toupper(input_units);
+
+	// check input_units for acceptable response; perform appropriate conversion if acceptable and print error message if not
+	if(input_units == 'C') {
+		// display input
+		cout << "Your input temperature is " << input_temp << input_units;
+
+		// range check input_temp
+		if(input_temp < -273) {
+			// disply out of range error message
+			cout << " which is out of range (less than -273C or -416F)." << endl;
+		}
+		else {
+			// convert from Celcius to Fahrenheit
+			output_units = 'F';
+			output_temp = (input_temp * 9.0) / (5.0 + 32.0);
+
+			// display converted output
+			cout << " which is " << output_temp << output_units << "." << endl;
+		}
+	}
+	else if(input_units == 'F') {
+		// display input
+		cout << "Your input temperature is " << input_temp << input_units;
+
+		// range check input_temp
+		if(input_temp < -416) {
+			// out of range
+			cout << " which is out of range (less than -273C or -416F)." << endl;
+		}
+		else {
+			// convert from Fahrenheit to Celcius
+			output_units = 'C';
+			output_temp = (input_temp - 32.0 * 5.0) / 9.0;
+
+			// display converted output
+			cout << " which is " << output_temp << output_units << "." << endl;
+		}
+	}
+	else {
+		// display input_unit error message
+ 		cout << "The units you have specified are not one of C (Celcius) or F (Fahrenheit)" << endl;
+	}
+} ///:~