aboutsummaryrefslogtreecommitdiff
path: root/CST116-Ch6-Debugging/CST116-Ch6-Debugging-Florea.cpp
blob: 344357aee03636de6bc181b628cdf185ca4e3017 (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
/********************************************************************
 * Andrei Florea - CST 116 - Ch6 - Debugging
* File: CST116-Ch6-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) Run to the breakpoint.
* 3) Put watches on both Fahrenheit and Celsius.
* 4) When asked for a temperature, enter 212.
* 5) Verify that the value you entered is stored correctly.
 *
 * Using the debug watch variable, fahrenheit has a float value of 212
 *
* 6) Step over the conversion calculation. What is the value
*    in Celsius? Is that the correct value? No.
 *
 *    The value in Celsius is 0 on the watch for the variables
 *
* 7) Remember your order of precedence. Put parentheses around
*    Fahrenheit - 32. This needs to be done before the multiplication.
 *
 *    Done, the parentheses are now around the Fahrenheit - 32, however,
 *    celsius is still equal to 0, which I think is because of the 5 / 9 (integers) that
 *    result into a 0.
 *
* 8) Stop debugging and recompile.
*
* Debugging Exercise 2
*
* 1) Run to Breakpoint 1.
* 2) When asked for a temperature, enter 212.
* 3) Verify that the value you entered is stored correctly.
* 4) Step over the conversion calculation. What is the value
*    in Celsius? Is that the correct value? No.
 *
 *    
 *
* 5) Look at the division. This is integer division. Therefore,
*    5 / 9 = 0. This is not the result we are looking for.
* 6) Modify the calculation so that it does floating point division.
*    There are three different ways we have discussed:
*           a) use the F suffix on the literals
*           b) type cast the literals
*           c) replace the 5 with 5.0 and the 9 with 9.0
* 7) Stop debugging, recompile and run to verify that it now works
*    correctly.
********************************************************************/

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

int main()
{
    float fahrenheit = 0;
    float celcius = 0;

    cout << "Enter temperature in Fahrenheit: ";
    cin >> fahrenheit;

    // Breakpoint 1
    // Put a breakpoint on the following line
    celcius = 5 / 9 * (fahrenheit - 32);

    cout << fahrenheit << " degrees F = "
        << celcius << " degrees C" << endl;

    return 0;
}