From 5090b258cc52cf9b69f87c0fd90f2eceb35b87a4 Mon Sep 17 00:00:00 2001 From: Lloyd Crawford Date: Wed, 5 Oct 2022 16:01:21 -0700 Subject: Here is my completed CH 5 Debug --- .../CST116-CH5 Debug-Pseudo code-Crawford.txt | 91 ++++++++++++++ .../CST116-Ch5 Debug Output-Crawford.txt | 19 +++ .../CST116-Ch5-Debugging-Crawford.cpp | 91 ++++++++++++++ CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp | 85 ------------- CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj | 3 +- .../CST116-Ch5-Debugging.vcxproj.filters | 2 +- .../~AutoRecover.CST116-Ch5-Debugging.vcxproj | 135 +++++++++++++++++++++ 7 files changed, 339 insertions(+), 87 deletions(-) create mode 100644 CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt create mode 100644 CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt create mode 100644 CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp delete mode 100644 CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp create mode 100644 CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj diff --git a/CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt b/CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt new file mode 100644 index 0000000..06c30aa --- /dev/null +++ b/CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt @@ -0,0 +1,91 @@ +/******************************************************************** +* File: CST116-Ch5-Debugging.cpp +* Lloyd Crawford, CST 116 02, Lab0, IDE, Simple Program, Github +* 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) With the program not in debugging mode, start debugging by +* using the "Step Into" tool. +* 3) Click on the Watch1 tab. +* 4) With the cursor in the Name column type money and press enter. +* This adds a programmer defined watch on the variable money. +* 5) Step Into until you reach the first cout statement. With +* the current line being that cout statement, Step Into again. +* 6) What happened? Where are we now? What is all of this nasty +* looking code? +* 7) Remember, stepping into a predefined routine takes you to the +* code for that routine. If the debugger can't find the code it +* will show the assembly code for that routine. +* 8) How do we get out of this mess? Use the "Step Out" tool. +* 9) In Visual Studio you will be taken back to the same cout +* statement. Use the Step Over tool to take you to the next +* line. +* 10) Step over the next cout statement. Now look at the console +* window. What was printed? +* 11) Select Stop Debugging either from the Debug menu or from your +* toolbar. +* +* Debugging Exercise 2 +* +* 1) With the program stopped, run to Breakpoint 1 by selecting +* the Start Debugging menu option, toolbar icon or press F5. +* 2) Step over the cout. +* 3) Step over the cin. Notice that you can now enter a value. +* 4) Enter the value .1 and press enter. +* 5) Notice that the current line of execution is now at the +* calculation. +* 6) Look at your watch. What is the value of money? +* 7) Hover your mouse pointer over raise. What is its value? +* 8) Step over the calculation. Notice the watch on money is now +* red. This designates that the variable just changed its value. +* 9) What happened to our money? I thought a raise was supposed +* to increase our money? Stop debugging and fix the calculation. +* +* Debugging Exercise 3 +* +* 1) Choose Disable All Breakpoints from the Debug menu. +* 2) With the cursor on the calculation, Run to Cursor. Remember +* that the Run to Cursor tool can be accessed by right clicking +* in the code window and choosing the correct menu option. +* 3) Step over the calculation and verify that this time +* you end up with more money than before the raise. +* 4) Stop debugging. Now run the entire program by choosing the menu +* option Start Without Debugging. +* +********************************************************************/ + +#include +#include +using std::cout; +using std::cin; +using std::endl; + +int main() +{ + float money = 123.45F; + float raise; + + cout << "You have $"; + cout << money << endl; + + // Breakpoint 1 + // Put a breakpoint on the following line + cout << "Enter percent raise: "; + cin >> raise; + + money = money + (money * raise); + + cout << "After your raise you have $"; + cout << money << endl; + + return 0; +} +// Part 1 of this was patched causing the error to not show up causing the whole part one to be completed before start. +// Part 2 of this has you set a break point to test the second half of the code. You test that money = money + raise; is faulty +// as it only calculates the raise of 123.45 * .1 = 12.345 +//Part 3 has you fix the coding by writing money = money * (money + raise); this will look like 123.45 + (123.45 * .1) +// = $135.795 +//Hope this helps - Lloyd C \ No newline at end of file diff --git a/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt b/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt new file mode 100644 index 0000000..72d50d6 --- /dev/null +++ b/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt @@ -0,0 +1,19 @@ +You have $123.45 +Enter percent raise: .1 +After your raise you have $12.345 + +C:\Users\Lloyd Crawford\source\repos\cst116-ch5-debugging-19-Ruin\CST116-Ch5-Debugging\x64\Debug\CST116-Ch5-Debugging.exe (process 20120) 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 the fix + +You have $123.45 +Enter percent raise: .1 +After your raise you have $135.795 + +C:\Users\Lloyd Crawford\source\repos\cst116-ch5-debugging-19-Ruin\CST116-Ch5-Debugging\x64\Debug\CST116-Ch5-Debugging.exe (process 24348) 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 after the fix. \ No newline at end of file diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp b/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp new file mode 100644 index 0000000..06c30aa --- /dev/null +++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp @@ -0,0 +1,91 @@ +/******************************************************************** +* File: CST116-Ch5-Debugging.cpp +* Lloyd Crawford, CST 116 02, Lab0, IDE, Simple Program, Github +* 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) With the program not in debugging mode, start debugging by +* using the "Step Into" tool. +* 3) Click on the Watch1 tab. +* 4) With the cursor in the Name column type money and press enter. +* This adds a programmer defined watch on the variable money. +* 5) Step Into until you reach the first cout statement. With +* the current line being that cout statement, Step Into again. +* 6) What happened? Where are we now? What is all of this nasty +* looking code? +* 7) Remember, stepping into a predefined routine takes you to the +* code for that routine. If the debugger can't find the code it +* will show the assembly code for that routine. +* 8) How do we get out of this mess? Use the "Step Out" tool. +* 9) In Visual Studio you will be taken back to the same cout +* statement. Use the Step Over tool to take you to the next +* line. +* 10) Step over the next cout statement. Now look at the console +* window. What was printed? +* 11) Select Stop Debugging either from the Debug menu or from your +* toolbar. +* +* Debugging Exercise 2 +* +* 1) With the program stopped, run to Breakpoint 1 by selecting +* the Start Debugging menu option, toolbar icon or press F5. +* 2) Step over the cout. +* 3) Step over the cin. Notice that you can now enter a value. +* 4) Enter the value .1 and press enter. +* 5) Notice that the current line of execution is now at the +* calculation. +* 6) Look at your watch. What is the value of money? +* 7) Hover your mouse pointer over raise. What is its value? +* 8) Step over the calculation. Notice the watch on money is now +* red. This designates that the variable just changed its value. +* 9) What happened to our money? I thought a raise was supposed +* to increase our money? Stop debugging and fix the calculation. +* +* Debugging Exercise 3 +* +* 1) Choose Disable All Breakpoints from the Debug menu. +* 2) With the cursor on the calculation, Run to Cursor. Remember +* that the Run to Cursor tool can be accessed by right clicking +* in the code window and choosing the correct menu option. +* 3) Step over the calculation and verify that this time +* you end up with more money than before the raise. +* 4) Stop debugging. Now run the entire program by choosing the menu +* option Start Without Debugging. +* +********************************************************************/ + +#include +#include +using std::cout; +using std::cin; +using std::endl; + +int main() +{ + float money = 123.45F; + float raise; + + cout << "You have $"; + cout << money << endl; + + // Breakpoint 1 + // Put a breakpoint on the following line + cout << "Enter percent raise: "; + cin >> raise; + + money = money + (money * raise); + + cout << "After your raise you have $"; + cout << money << endl; + + return 0; +} +// Part 1 of this was patched causing the error to not show up causing the whole part one to be completed before start. +// Part 2 of this has you set a break point to test the second half of the code. You test that money = money + raise; is faulty +// as it only calculates the raise of 123.45 * .1 = 12.345 +//Part 3 has you fix the coding by writing money = money * (money + raise); this will look like 123.45 + (123.45 * .1) +// = $135.795 +//Hope this helps - Lloyd C \ No newline at end of file diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp deleted file mode 100644 index 851932d..0000000 --- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************** -* File: CST116-Ch5-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) With the program not in debugging mode, start debugging by -* using the "Step Into" tool. -* 3) Click on the Watch1 tab. -* 4) With the cursor in the Name column type money and press enter. -* This adds a programmer defined watch on the variable money. -* 5) Step Into until you reach the first cout statement. With -* the current line being that cout statement, Step Into again. -* 6) What happened? Where are we now? What is all of this nasty -* looking code? -* 7) Remember, stepping into a predefined routine takes you to the -* code for that routine. If the debugger can't find the code it -* will show the assembly code for that routine. -* 8) How do we get out of this mess? Use the "Step Out" tool. -* 9) In Visual Studio you will be taken back to the same cout -* statement. Use the Step Over tool to take you to the next -* line. -* 10) Step over the next cout statement. Now look at the console -* window. What was printed? -* 11) Select Stop Debugging either from the Debug menu or from your -* toolbar. -* -* Debugging Exercise 2 -* -* 1) With the program stopped, run to Breakpoint 1 by selecting -* the Start Debugging menu option, toolbar icon or press F5. -* 2) Step over the cout. -* 3) Step over the cin. Notice that you can now enter a value. -* 4) Enter the value .1 and press enter. -* 5) Notice that the current line of execution is now at the -* calculation. -* 6) Look at your watch. What is the value of money? -* 7) Hover your mouse pointer over raise. What is its value? -* 8) Step over the calculation. Notice the watch on money is now -* red. This designates that the variable just changed its value. -* 9) What happened to our money? I thought a raise was supposed -* to increase our money? Stop debugging and fix the calculation. -* -* Debugging Exercise 3 -* -* 1) Choose Disable All Breakpoints from the Debug menu. -* 2) With the cursor on the calculation, Run to Cursor. Remember -* that the Run to Cursor tool can be accessed by right clicking -* in the code window and choosing the correct menu option. -* 3) Step over the calculation and verify that this time -* you end up with more money than before the raise. -* 4) Stop debugging. Now run the entire program by choosing the menu -* option Start Without Debugging. -* -********************************************************************/ - -#include -#include -using std::cout; -using std::cin; -using std::endl; - -int main() -{ - float money = 123.45F; - float raise; - - cout << "You have $"; - cout << money << endl; - - // Breakpoint 1 - // Put a breakpoint on the following line - cout << "Enter percent raise: "; - cin >> raise; - - money = money * raise; - - cout << "After your raise you have $"; - cout << money << endl; - - return 0; -} \ No newline at end of file diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj index 4339244..a7c12d8 100644 --- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj +++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj @@ -24,6 +24,7 @@ {656289ce-6a7b-4681-b61a-b8bd2cf9e712} CST116Ch5Debugging 10.0 + CST116-Ch5-Debugging-Crawford @@ -127,7 +128,7 @@ - + diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters index c938e8d..5f1bf44 100644 --- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters +++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters @@ -15,7 +15,7 @@ - + Source Files diff --git a/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj b/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj new file mode 100644 index 0000000..f34fc1e --- /dev/null +++ b/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj @@ -0,0 +1,135 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {656289ce-6a7b-4681-b61a-b8bd2cf9e712} + CST116Ch5Debugging + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + \ No newline at end of file -- cgit v1.2.3