From df92b88a15e2fdfe9f9c1a00be2460ca26ac1b3b Mon Sep 17 00:00:00 2001 From: Andrei F Date: Wed, 12 Oct 2022 21:56:11 -0700 Subject: Added output file and renamed the main file to include my name --- .../CST116-Ch7-Debugging-Florea.cpp | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 CST116-Ch7-Debugging/CST116-Ch7-Debugging-Florea.cpp (limited to 'CST116-Ch7-Debugging/CST116-Ch7-Debugging-Florea.cpp') diff --git a/CST116-Ch7-Debugging/CST116-Ch7-Debugging-Florea.cpp b/CST116-Ch7-Debugging/CST116-Ch7-Debugging-Florea.cpp new file mode 100644 index 0000000..bb7ed08 --- /dev/null +++ b/CST116-Ch7-Debugging/CST116-Ch7-Debugging-Florea.cpp @@ -0,0 +1,102 @@ +/******************************************************************** +* File: CST116-Ch7-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) When prompted, enter your age. +* 4) When the execution stops, add a watch on age and verify that +* the value in age is what you typed in. + * + * Done, the age value is set to my input which is 19. + * +* 5) Step over the if statement. +* 6) Why did the value in age change? + * + * The value of age changed because the if comparison were not correctly written, there was only a single = sign, + * which means that it would assign a value to a variable. Additionally, the brackets to the if statements were + * missing and I added them. + * +* 7) Fix the problem and repeat Steps 2 � 5 to verify the +* problem was corrected. +* 8) Stop debugging. +* +* Debugging Exercise 2 +* +* 1) Run to Breakpoint 1. +* 2) When prompted, enter the value 25 for your age. +* 3) Step over the if statement. Execution of the program should +* continue on the else if statement. +* 4) Verify that 25 is still stored in age. +* 5) Step over the else if. +* 6) Why is the program going to print "Teenager" for an age of 25? + * + * The problem is that on the first else if statement, it was using the OR ( || ) comparison, and that means that + * any input age is going to be more than 12 OR less than or equal to 19, therefore any age input is going to result + * in teenager. + * +* 7) Fix the problem and repeat Steps 1 � 5 to verify the +* problem was corrected. +* 8) Stop debugging. +* 9) Remove Breakpoint1. +* +* Debugging Exercise 3 +* +* 1) Run the program without debugging. +* 2) When prompted, enter the value of 10 for your age. +* 3) Why does the program print both "Child" and "Adult"? +* 4) Re-run the program this time with debugging and run to +* Breakpoint 2. +* 5) Why is the action with the else executing? + * + * The action code inside the else block is executing because of the semicolon on the end of the "else", + * while I don't know why, I am assuming its because the ( compiler ? ) is assuming it's the end of a line and its + * automatically entering the block. Removing that semicolon will ensure that it won't execute. + * +* 6) Fix the problem and re-run to verify the problem was corrected. + * + * If I input the age 19 now, it will correctly output Teenager. + * +********************************************************************/ + +#include +using std::cout; +using std::endl; +using std::cin; + +int main() +{ + int age = 0; + + cout << "Enter your age: "; + cin >> age; + + // Breakpoint 1 + // Put a breakpoint on the following line + if (age == 1) { + cout << "First Birthday" << endl; + } + else if (age >= 12 && age <= 19) { + cout << "Teenager" << endl; + } + else if (age < 12) { + cout << "Child" << endl; + } + else if (age > 62) { + cout << "Senior" << endl; + } + + // Breakpoint 2 + // Put a breakpoint on the following line + + else + { + cout << "Adult" << endl; + } + + return 0; +} \ No newline at end of file -- cgit v1.2.3