From fdf2e72ff8ef7b5dee57e67602ead474860e2627 Mon Sep 17 00:00:00 2001 From: Andrei Florea Date: Wed, 5 Oct 2022 18:52:05 -0700 Subject: Renaming filename that has code to correct standard --- .../CST116-Lab0-Debugging-Florea.cpp | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 Ch 5 Debugging Project/CST116-Lab0-Debugging-Florea.cpp (limited to 'Ch 5 Debugging Project/CST116-Lab0-Debugging-Florea.cpp') diff --git a/Ch 5 Debugging Project/CST116-Lab0-Debugging-Florea.cpp b/Ch 5 Debugging Project/CST116-Lab0-Debugging-Florea.cpp new file mode 100644 index 0000000..8e8b66c --- /dev/null +++ b/Ch 5 Debugging Project/CST116-Lab0-Debugging-Florea.cpp @@ -0,0 +1,101 @@ +/******************************************************************** + * Andrei Florea - CST 116 - Lab 0 - Debugging +* File: Chap_5_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? + * + * The value of money is 123.449997 + * +* 7) Hover your mouse pointer over raise. What is its value? + * + * The value of raise is 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. + * + * What happened to the money is that it was multiplying the raise which was set as input of a decimal, + * for example, raise was .1, but when you multiply that by the amount of money, the answer you receive + * is supposed to be the additional money to the raise. To fix this, if raise is always going to be a decimal + * below 1, you can add write ( raise + 1 ), which will add 1 to raise before multiplying it. So instead of + * multiplying 0.1 with the amount of money, you are multiplying 1.1 with the amount of money which is the correct + * amount. +* +* 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. + * + * Done, now when I input .1 (same as before), instead of the money being lower, it is now higher. +* +********************************************************************/ + +#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 + 1 ); + + cout << "After your raise you have $"; + cout << money << endl; + + return 0; +} \ No newline at end of file -- cgit v1.2.3