aboutsummaryrefslogtreecommitdiff
path: root/Ch 5 Debugging Project
diff options
context:
space:
mode:
authorEdwardFine <[email protected]>2022-09-29 15:21:15 -0700
committerEdwardFine <[email protected]>2022-09-29 15:21:15 -0700
commiteca13dd9cf9772c73f10f6cdd2fbcefab66fec42 (patch)
tree467c210ff797b514ab8343e09896062dda9904b8 /Ch 5 Debugging Project
parentSetting up GitHub Classroom Feedback (diff)
downloadcst116-lab0-debugging-edwardfine-eca13dd9cf9772c73f10f6cdd2fbcefab66fec42.tar.xz
cst116-lab0-debugging-edwardfine-eca13dd9cf9772c73f10f6cdd2fbcefab66fec42.zip
Finished Debug Project
Diffstat (limited to 'Ch 5 Debugging Project')
-rw-r--r--Ch 5 Debugging Project/CST116-Debugging-Fine.cpp97
1 files changed, 97 insertions, 0 deletions
diff --git a/Ch 5 Debugging Project/CST116-Debugging-Fine.cpp b/Ch 5 Debugging Project/CST116-Debugging-Fine.cpp
new file mode 100644
index 0000000..8522ad8
--- /dev/null
+++ b/Ch 5 Debugging Project/CST116-Debugging-Fine.cpp
@@ -0,0 +1,97 @@
+/********************************************************************
+* File: Chap_5_Debugging.cpp
+*
+* General Instructions: Complete each step before proceeding to the
+* next.
+*
+* CST 116, Edward Fine, Lab0, debugging
+*
+* 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?
+* So far, all I can see is that the money has been assigned its value of 123.45
+* and in the console it simply says "You have $". I don't see any messy code
+* after stepping into cout<<money<<endl;.
+* 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?
+* After stepping over the cout statement with the breakpoint, the console is
+* now asking the user to enter a percent raise.
+* 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?
+* 123.449997
+* 7) Hover your mouse pointer over raise. What is its value?
+* 0.100000001
+* 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.
+* The money went to 12.3450003, by making the raise get the addition to the
+* money and then adding it to the total money, it will give the correct value
+* of money with the raise.
+*
+* 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 <iostream>
+#include <iomanip>
+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 (in decimal form): ";
+ cin >> raise;
+ raise = raise * money;
+ money = money + raise;
+
+ cout << "After your raise you have $";
+ cout << money << endl;
+
+ return 0;
+} \ No newline at end of file