aboutsummaryrefslogtreecommitdiff
path: root/Ch 5 Debugging Project/Ch 5 Debugging Project.cpp
blob: ba6fd8a93f4ccc945500c041857fad0c48fa11d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/********************************************************************
* 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?
* 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.
*
*********************************************************************/

//Derek Preston
//Lab 0 Debugging
//CST116

//Breakpoints were added at the breakpoint 1 comment, and at the cout << Enter percent raise line. 
//After reading through some of the questions again I realize that me adding a while loop wasn't what was asked of me.  I was asked to go back after enter a value of .1 and fix the numbers within the calculation.  Although what I did definitely eliminated the possibility for a 'lowering raise'
//added psuedocode file on 10/5/22. 
//added output file on 10/5/22.
//After running this program with this addition, it is more of just a multiplicaiton calculator over a raise calculator. 

#include <iostream>
#include <iomanip>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    float money;
    float raise;

    //added a quality step to make this a more definable program.  10.5.22 at 3pm.
    cout << "Enter your current salary" << endl;
    cin >> money;
    
    cout << "You have $";
    cout << money << endl;

    // Breakpoint 1
    // Put a breakpoint on the following line
    cout << "Enter percent raise above 1.0%: "; //Inserted breakpoint for step 1. //Added a rule for the users entered value to stop the raise from being below 1.0%.  This still doesn't stop someone from entering an amount below 1.0%
    cin >> raise;
    while (raise <= 1.0) //I added this while loop to combat the issue of inserting a raise that either keeps the money at the current value or decreases it. This was for step 9 Debug 2
    {
        cout << "You must enter a number greater than 1.0" << endl;
        cout << "Enter percent raise above 1.0%: ";
        cin >> raise;
    }

    money = money * raise;
    //Step 10 when you step over you get "You have $123.45. Enter percent raise:"
    //setting raise to .1 makes the value after the calculation 12.345.  
    cout << "After your raise you have $";
    cout << money << endl;

    return 0;
}