aboutsummaryrefslogtreecommitdiff
path: root/CST116-Ch5-Debugging
diff options
context:
space:
mode:
authorLloyd Crawford <Lloyd Crawford@LAPTOP-7HJCDLE5>2022-10-05 16:01:21 -0700
committerLloyd Crawford <Lloyd Crawford@LAPTOP-7HJCDLE5>2022-10-05 16:01:21 -0700
commit5090b258cc52cf9b69f87c0fd90f2eceb35b87a4 (patch)
treebcf24884ed5dbb3b126ee1ce8fefd68ae9b9b0e6 /CST116-Ch5-Debugging
parentHere is my completed CH5 Debug. (diff)
downloadcst116-ch5-debugging-19-ruin-5090b258cc52cf9b69f87c0fd90f2eceb35b87a4.tar.xz
cst116-ch5-debugging-19-ruin-5090b258cc52cf9b69f87c0fd90f2eceb35b87a4.zip
Here is my completed CH 5 Debug
Diffstat (limited to 'CST116-Ch5-Debugging')
-rw-r--r--CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt (renamed from CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp)176
-rw-r--r--CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt19
-rw-r--r--CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp91
-rw-r--r--CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj3
-rw-r--r--CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters2
-rw-r--r--CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj135
6 files changed, 339 insertions, 87 deletions
diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp b/CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt
index 851932d..06c30aa 100644
--- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.cpp
+++ b/CST116-Ch5-Debugging/CST116-CH5 Debug-Pseudo code-Crawford.txt
@@ -1,85 +1,91 @@
-/********************************************************************
-* File: CST116-Ch5-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.
-*
-********************************************************************/
-
-#include <iostream>
-#include <iomanip>
-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;
-
- cout << "After your raise you have $";
- cout << money << endl;
-
- return 0;
-} \ No newline at end of file
+/********************************************************************
+* File: CST116-Ch5-Debugging.cpp
+* Lloyd Crawford, CST 116 02, Lab0, IDE, Simple Program, Github
+* 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.
+*
+********************************************************************/
+
+#include <iostream>
+#include <iomanip>
+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 + (money * raise);
+
+ cout << "After your raise you have $";
+ cout << money << endl;
+
+ return 0;
+}
+// Part 1 of this was patched causing the error to not show up causing the whole part one to be completed before start.
+// Part 2 of this has you set a break point to test the second half of the code. You test that money = money + raise; is faulty
+// as it only calculates the raise of 123.45 * .1 = 12.345
+//Part 3 has you fix the coding by writing money = money * (money + raise); this will look like 123.45 + (123.45 * .1)
+// = $135.795
+//Hope this helps - Lloyd C \ No newline at end of file
diff --git a/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt b/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt
new file mode 100644
index 0000000..72d50d6
--- /dev/null
+++ b/CST116-Ch5-Debugging/CST116-Ch5 Debug Output-Crawford.txt
@@ -0,0 +1,19 @@
+You have $123.45
+Enter percent raise: .1
+After your raise you have $12.345
+
+C:\Users\Lloyd Crawford\source\repos\cst116-ch5-debugging-19-Ruin\CST116-Ch5-Debugging\x64\Debug\CST116-Ch5-Debugging.exe (process 20120) exited with code 0.
+To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
+Press any key to close this window . . .
+
+This is the code before the fix
+
+You have $123.45
+Enter percent raise: .1
+After your raise you have $135.795
+
+C:\Users\Lloyd Crawford\source\repos\cst116-ch5-debugging-19-Ruin\CST116-Ch5-Debugging\x64\Debug\CST116-Ch5-Debugging.exe (process 24348) exited with code 0.
+To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops.
+Press any key to close this window . . .
+
+This is the code after the fix. \ No newline at end of file
diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp b/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp
new file mode 100644
index 0000000..06c30aa
--- /dev/null
+++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging-Crawford.cpp
@@ -0,0 +1,91 @@
+/********************************************************************
+* File: CST116-Ch5-Debugging.cpp
+* Lloyd Crawford, CST 116 02, Lab0, IDE, Simple Program, Github
+* 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.
+*
+********************************************************************/
+
+#include <iostream>
+#include <iomanip>
+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 + (money * raise);
+
+ cout << "After your raise you have $";
+ cout << money << endl;
+
+ return 0;
+}
+// Part 1 of this was patched causing the error to not show up causing the whole part one to be completed before start.
+// Part 2 of this has you set a break point to test the second half of the code. You test that money = money + raise; is faulty
+// as it only calculates the raise of 123.45 * .1 = 12.345
+//Part 3 has you fix the coding by writing money = money * (money + raise); this will look like 123.45 + (123.45 * .1)
+// = $135.795
+//Hope this helps - Lloyd C \ No newline at end of file
diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj
index 4339244..a7c12d8 100644
--- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj
+++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj
@@ -24,6 +24,7 @@
<ProjectGuid>{656289ce-6a7b-4681-b61a-b8bd2cf9e712}</ProjectGuid>
<RootNamespace>CST116Ch5Debugging</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <ProjectName>CST116-Ch5-Debugging-Crawford</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@@ -127,7 +128,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="CST116-Ch5-Debugging.cpp" />
+ <ClCompile Include="CST116-Ch5-Debugging-Crawford.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters
index c938e8d..5f1bf44 100644
--- a/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters
+++ b/CST116-Ch5-Debugging/CST116-Ch5-Debugging.vcxproj.filters
@@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="CST116-Ch5-Debugging.cpp">
+ <ClCompile Include="CST116-Ch5-Debugging-Crawford.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
diff --git a/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj b/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj
new file mode 100644
index 0000000..f34fc1e
--- /dev/null
+++ b/CST116-Ch5-Debugging/~AutoRecover.CST116-Ch5-Debugging.vcxproj
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{656289ce-6a7b-4681-b61a-b8bd2cf9e712}</ProjectGuid>
+ <RootNamespace>CST116Ch5Debugging</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="CST116-Ch5-Debugging-Crawford.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file