diff options
| author | Lloyd Crawford <Lloyd Crawford@LAPTOP-7HJCDLE5> | 2022-10-05 16:23:01 -0700 |
|---|---|---|
| committer | Lloyd Crawford <Lloyd Crawford@LAPTOP-7HJCDLE5> | 2022-10-05 16:23:29 -0700 |
| commit | 4e249a7bc41ce2c596034e921c6660415c6d528a (patch) | |
| tree | ac2d754f6c34bede8794e93ad6dfb5f0360c1d4c /CST116-Ch6-Debugging | |
| parent | Setting up GitHub Classroom Feedback (diff) | |
| download | cst116-ch6-debugging-19-ruin-main.tar.xz cst116-ch6-debugging-19-ruin-main.zip | |
Diffstat (limited to 'CST116-Ch6-Debugging')
3 files changed, 88 insertions, 1 deletions
diff --git a/CST116-Ch6-Debugging/CST116-CH6 Debug-Pseudo code-Crawford.txt b/CST116-Ch6-Debugging/CST116-CH6 Debug-Pseudo code-Crawford.txt new file mode 100644 index 0000000..363bdc4 --- /dev/null +++ b/CST116-Ch6-Debugging/CST116-CH6 Debug-Pseudo code-Crawford.txt @@ -0,0 +1,65 @@ +/******************************************************************** +* File: CST116-Ch6-Debugging.cpp +* +* General Instructions: Complete each step before proceeding to the +* next. +* +* Debugging Exercise 1 +* +* 1) On the lines indicated in the code below, insert a breakpoint. +* 2) Run to the breakpoint. +* 3) Put watches on both Fahrenheit and Celsius. +* 4) When asked for a temperature, enter 212. +* 5) Verify that the value you entered is stored correctly. +* 6) Step over the conversion calculation. What is the value +* in Celsius? Is that the correct value? No. +* 7) Remember your order of precedence. Put parentheses around +* Fahrenheit - 32. This needs to be done before the multiplication. +* 8) Stop debugging and recompile. +* +* Debugging Exercise 2 +* +* 1) Run to Breakpoint 1. +* 2) When asked for a temperature, enter 212. +* 3) Verify that the value you entered is stored correctly. +* 4) Step over the conversion calculation. What is the value +* in Celsius? Is that the correct value? No. +* 5) Look at the division. This is integer division. Therefore, +* 5 / 9 = 0. This is not the result we are looking for. +* 6) Modify the calculation so that it does floating point division. +* There are three different ways we have discussed: +* a) use the F suffix on the literals +* b) type cast the literals +* c) replace the 5 with 5.0 and the 9 with 9.0 +* 7) Stop debugging, recompile and run to verify that it now works +* correctly. +********************************************************************/ + +#include <iostream> +#include <iomanip> +using std::cout; +using std::cin; +using std::endl; + +int main() +{ + float fahrenheit = 0; + float celcius = 0; + + cout << "Enter temperature in Fahrenheit: "; + cin >> fahrenheit; + + // Breakpoint 1 + // Put a breakpoint on the following line + celcius = 5.0 / 9.0 * (fahrenheit - 32); + + cout << fahrenheit << " degrees F = " + << celcius << " degrees C" << endl; + + return 0; +} +// To convert from Farenheit to celsius is 5/9 * ( F - 32). Part one has you test the code and you will discover that +// it says farenheit of 212 = 0 celcius. doing some arithmatic you find out 212 F = 100 C. It is due to an integer error +// in the fomula celcius = 5/9 * (fahrenheit - 32). Fix this by adding .0 to each number. +//Part 2 Has you correct the code to celcius = 5.0 / 9.0 * (fahrenheit - 32). This gives you the proper answer of 100 degrees Celcius. +// Hope this helps. LLoyd C
\ No newline at end of file diff --git a/CST116-Ch6-Debugging/CST116-CH6 Debug-results-Crawford.txt b/CST116-Ch6-Debugging/CST116-CH6 Debug-results-Crawford.txt new file mode 100644 index 0000000..f3da9f7 --- /dev/null +++ b/CST116-Ch6-Debugging/CST116-CH6 Debug-results-Crawford.txt @@ -0,0 +1,17 @@ +Enter temperature in Fahrenheit: 212 +212 degrees F = 0 degrees C + +C:\Users\Lloyd Crawford\source\repos\cst116-ch6-debugging-19-Ruin\CST116-Ch6-Debugging\x64\Debug\CST116-Ch6-Debugging.exe (process 24168) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +This is the code before proper debugging. It is due to a integer calculation of 5/9. This is fixed by making it 5.0/9.0 + +Enter temperature in Fahrenheit: 212 +212 degrees F = 100 degrees C + +C:\Users\Lloyd Crawford\source\repos\cst116-ch6-debugging-19-Ruin\CST116-Ch6-Debugging\x64\Debug\CST116-Ch6-Debugging.exe (process 11948) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +This is the proper response once the code is fixed.
\ No newline at end of file diff --git a/CST116-Ch6-Debugging/CST116-Ch6-Debugging.cpp b/CST116-Ch6-Debugging/CST116-Ch6-Debugging.cpp index 497e2f8..f572c79 100644 --- a/CST116-Ch6-Debugging/CST116-Ch6-Debugging.cpp +++ b/CST116-Ch6-Debugging/CST116-Ch6-Debugging.cpp @@ -51,10 +51,15 @@ int main() // Breakpoint 1
// Put a breakpoint on the following line
- celcius = 5 / 9 * fahrenheit - 32;
+ celcius = 5.0 / 9.0 * (fahrenheit - 32);
cout << fahrenheit << " degrees F = "
<< celcius << " degrees C" << endl;
return 0;
}
+// To convert from Farenheit to celsius is 5/9 * ( F - 32). Part one has you test the code and you will discover that
+// it says farenheit of 212 = 0 celcius. doing some arithmatic you find out 212 F = 100 C. It is due to an integer error
+// in the fomula celcius = 5/9 * (fahrenheit - 32). Fix this by adding .0 to each number.
+//Part 2 Has you correct the code to celcius = 5.0 / 9.0 * (fahrenheit - 32). This gives you the proper answer of 100 degrees Celcius.
+// Hope this helps. LLoyd C
\ No newline at end of file |