aboutsummaryrefslogtreecommitdiff
path: root/CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp
diff options
context:
space:
mode:
authorAndrei F <[email protected]>2022-10-12 22:30:58 -0700
committerAndrei F <[email protected]>2022-10-12 22:30:58 -0700
commit87cb8f5e8de75233cd65f2b61315fea2b7468e94 (patch)
treedb4b1a03e0c135cb5e918fd533ef21cf65c80562 /CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp
parentFinished exercise 4 (diff)
downloadcst116-chapter8-debugging-florea-87cb8f5e8de75233cd65f2b61315fea2b7468e94.tar.xz
cst116-chapter8-debugging-florea-87cb8f5e8de75233cd65f2b61315fea2b7468e94.zip
Added pseudocode file and output file and changed the main file name to include my last name
Diffstat (limited to 'CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp')
-rw-r--r--CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp114
1 files changed, 114 insertions, 0 deletions
diff --git a/CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp b/CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp
new file mode 100644
index 0000000..2cb243c
--- /dev/null
+++ b/CST116-Ch8-Debugging/CST116-Ch8-Debugging-Florea.cpp
@@ -0,0 +1,114 @@
+/********************************************************************
+ * Andrei Florea - CST116 - CH8 - Debugging
+ *
+* File: CST116-Ch8-Debugging.cpp
+*
+* General Instructions: Complete each step before proceeding to the
+* next.
+*
+* Debugging Exercise 1
+*
+* 1) Insert a breakpoint on the lines indicated in the code.
+* 2) Run to Breakpoint 1.
+* 3) Place a watch on i.
+* 4) Execute the while statement by doing a "Step Into".
+* 5) The execution continues to the cout statement as expected.
+* 6) Step over the cout statement.
+* 7) Why didn't the flow of the program return back to the while
+* statement?
+ *
+ * The flow of the program did not return to the while statement because of the semicolon on the while statement,
+ * this is also explained in the next step. The brackets, which I thought had an error to do with the
+ * flow of the program not returning to the while statement do not matter here.
+ *
+* 8) Fix this problem by removing the ; after the while statement.
+* 9) Stop debugging and repeat Steps 2 � 5 to verify the correction
+* worked.
+ *
+ * Done, however, debugging will now not enter the while block to execute the cout statement.
+ *
+* 10) Stop debugging.
+*
+* Debugging Exercise 2
+*
+* 1) Run to Breakpoint 1.
+* 2) Step into the while loop.
+* 3) Why did the cout not execute?
+ *
+ * The cout did not execute because the while loop is comparing if the variable i is less than 0.
+ * However, the variable i is initialized as 0, and therefore is not less than 0, so it does not step
+ * into the while loop.
+ *
+* 4) Check the value of i, now check the condition, does the
+* condition evaluate to true?
+* 5) Change the "< 0" to a "< 10".
+* 6) Stop debugging and repeat Steps 1 � 4 to verify the correction
+* worked.
+ *
+ * It works but it's an infinite loop.
+ *
+* 7) Stop debugging.
+*
+* Debugging Exercise 3
+*
+* 1) Run the program without debugging.
+* 2) What is happening now is an infinite loop.
+* 3) End your program by holding down the Ctrl key and pressing C.
+* 4) Fix the problem by adding a "++" after the i in the cout
+* statement.
+* 5) Run the program to Breakpoint 2 and verify that the output
+* displayed on the screen is 0 � 9.
+ *
+ * Yes, if I add another breakpoint after the while loop block and run it in debug mode and check the console,
+ * the outputs are 0 to 9. However, the variable i is equal to 10, which makes sense because that is how it
+ * got out of the while loop block.
+*
+* Debugging Exercise 4
+*
+* 1) Run to Breakpoint 2.
+* 2) Add a watch to the variable count.
+* 3) Verify that the contents of count is garbage.
+* 4) Step into the loop.
+* 5) What is the value stored in count now?
+ *
+ * The value stored in count before was 1, but after stepping into the loop the value stored is now 10
+ *
+* 6) Where was 10 assigned to count?
+ *
+ * I believe the 10 was assigned to count on line 99, where basically it just did a loop on that line without entering
+ * the line below, and it did it until count was equal to 10.
+ *
+* 7) Fix the problem and re-run to verify.
+ *
+ * I fixed the problem, which was the same as the other loop with the semicolon on the for loop.
+ * I know the problem is fixed as I used the debugging tool and followed the flow of the code, entering
+ * the for loop until count was 10
+ *
+ * I am also adding curly brackets (which are not necessary as I found out) but it makes the code cleaner
+ * and easier to read.
+ *
+********************************************************************/
+#include <iostream>
+using std::cout;
+using std::endl;
+
+int main()
+{
+ int i = 0;
+ int count;
+
+ // Breakpoint 1
+ // Put a breakpoint on the following line
+ while (i < 10) {
+ cout << i++ << endl;
+ }
+
+
+ // Breakpoint 2
+ // Put a breakpoint on the following line
+ for (count = 0; count < 10; count++) {
+ cout << count << endl;
+ }
+
+ return 0;
+}