aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheOtherTonyStark <[email protected]>2022-10-23 12:55:37 -0700
committerTheOtherTonyStark <[email protected]>2022-10-23 12:55:37 -0700
commit72d3a500c34fef857249a5c29ad61c3e801bd42c (patch)
treec15a50573aaa195522504961857267a73337d936
parentSetting up GitHub Classroom Feedback (diff)
downloadcst116-ch10-debugging-theothertonystark-72d3a500c34fef857249a5c29ad61c3e801bd42c.tar.xz
cst116-ch10-debugging-theothertonystark-72d3a500c34fef857249a5c29ad61c3e801bd42c.zip
First Commit
-rw-r--r--.gitignore363
-rw-r--r--CST116-Ch10-Debugging/CST116-Ch10-Debugging-Chambers.cpp (renamed from CST116-Ch10-Debugging/CST116-Ch10-Debugging.cpp)296
-rw-r--r--CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj7
-rw-r--r--CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj.filters10
-rw-r--r--CST116-Ch10-Debugging/CST116-Ch10-Psuedocode.txt0
-rw-r--r--CST116-Ch10-Debugging/CST116-Ch10-Solution.txt0
6 files changed, 526 insertions, 150 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9491a2f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,363 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Oo]ut/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd \ No newline at end of file
diff --git a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.cpp b/CST116-Ch10-Debugging/CST116-Ch10-Debugging-Chambers.cpp
index 1e3d58b..21f2790 100644
--- a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.cpp
+++ b/CST116-Ch10-Debugging/CST116-Ch10-Debugging-Chambers.cpp
@@ -1,148 +1,148 @@
-/********************************************************************
-* File: CST116-Ch10-Debugging.cpp
-*
-* General Instructions: Complete each step before proceeding to the
-* next.
-*
-* Debugging Exercise 1
-*
-* 1) Build and run the program.
-* 2) Examine the code and the output and notice the use of
-* parallel arrays.
-* 3) Insert breakpoints at Breakpoint 1, Breakpoint 2, and Breakpoint
-* 3.
-* 4) Run to Breakpoint 1.
-* 5) Place a watch on varX, varY and varZ. Click on the '+' in the
-* watch window to see the individual elements associated with each
-* of the arrays.
-* 6) Continue running your program to Breakpoint 2.
-* 7) Add a watch on the array called name. Again, click on the '+'
-* symbol. Notice how a multidimensional array is shown in the
-* debugger, the null terminating characters location, and how a
-* character is represented within each element of the array.
-* 8) Continue running the program to Breakpoint 3.
-* 9) Notice the contents of varX and varY now that you are back in the
-* main function.
-* 10) Clear all the breakpoints.
-* 11) Stop debugging.
-*
-* Debugging Exercise 2
-*
-* 1) Change the constant SIZE from 5 to 10.
-* 2) Change any literal containing a 5 to the constant SIZE.
-* Notice the usefulness of the constant when changes need
-* to be made to your code.
-* 3) Set a breakpoint at Breakpoint 4. Now on this breakpoint
-* set the necessary condition so the loop breaks when x hits 8.
-* (Hint: If you need help setting breakpoints based upon a
-* condition refer to Chapter 8).
-* 4) Run to Breakpoint 4.
-* 5) Continue stepping into the remainder of the for loop until the
-* flow returns back to main.
-* 6) Make sure your Watch window is visible and notice the contents
-* of varY and varZ now that you are back in main.
-* 7) Stop debugging.
-* 8) Disable all breakpoints.
-* 9) Rebuild and execute the program and verify the results.
-*
-* Debugging Exercise 3
-*
-* 1) Just before the call to the PrintFunction in main, add an
-* assignment statement to change the first element in the
-* array varZ to -99.
-* 2) Build and execute your code, verifying that the calculations
-* are correct in relation to element 0 of varZ.
-* 3) Add a line to assign the contents of the second element of
-* varX to 99 in FunctionTwo.
-* 4) Rebuild your program.
-* 5 Obviously there is a problem. Remove the const from the
-* function declaration and header for varX.
-* 5) Now you should be able to build and execute your code. Do it.
-* 6) Set a breakpoint on Breakpoint 2.
-* 7) Re-enable Breakpoint 2.
-* 8) Run to Breakpoint 2 and make sure you have a watch on the
-* variable name.
-* 9) Click on the '+'. Once you see all the elements
-* within the array, change the 'Value' (in the Value field)
-* for the first element of the array directly within the Watch
-* window to the character 'Z'. Notice how the value is updated
-* by displaying the new ASCII value too.
-* 10) Stop debugging.
-* 11) Disable all breakpoints.
-*
-********************************************************************/
-#include <iostream>
-#include <iomanip>
-using std::cin;
-using std::cout;
-using std::endl;
-using std::setw;
-
-void GetAndDisplayWelcomeInfo();
-void FunctionOne(int varX[], int varY[]);
-void FunctionTwo(const int varX[], const int varY[], int varZ[]);
-void PrintFunction(const int varX[], const int varY[],
- const int varZ[]);
-
-const int SIZE = 5;
-
-int main()
-{
- int varX[5];
- int varY[SIZE];
- int varZ[SIZE]; // Notice how we used the const here!
-
- // Breakpoint 1
- // Put breakpoint on the following line
- GetAndDisplayWelcomeInfo();
- FunctionOne(varX, varY);
-
- // Breakpoint 3
- // Put breakpoint on the following line
- FunctionTwo(varX, varY, varZ);
- PrintFunction(varX, varY, varZ);
-
- return 0;
-}
-void GetAndDisplayWelcomeInfo()
-{
- char name[2][20]; // First name in row 0, last name in row 1
-
- cout << "Please enter your first name: ";
- cin >> name[0];
-
- cout << "\nPlease enter your last name: ";
- cin >> name[1];
-
- // Breakpoint 2
- // Put breakpoint on the following line
- cout << "\n\n\tWelcome " << name[0] << " " << name[1]
- << "!\n\t Hope all is well \n\n";
-}
-void FunctionOne(int varX[], int varY[])
-{
- for (int x = 0; x < SIZE; x++) // NOTICE '<' NOT <=
- // Breakpoint 4
- // Put breakpoint on the following line
- varX[x] = x;
-
- for (int x = 0; x < 5; x++)
- varY[x] = x + 100;
-}
-void FunctionTwo(const int varX[], const int varY[], int varZ[])
-{
- for (int x = 0; x < SIZE; x++) // Notice the const SIZE here
- varZ[x] = varX[x] + varY[x];
-}
-void PrintFunction(const int varX[20], const int varY[20],
- const int varZ[20])
-{
- int x;
-
- cout << " \t x \t y \t z\n\n";
-
- for (x = 0; x < SIZE; x++)
- cout << "\t" << setw(3) << varX[x]
- << "\t " << varY[x]
- << "\t " << varZ[x] << endl;
-}
+/********************************************************************
+* File: CST116-Ch10-Debugging.cpp
+*
+* General Instructions: Complete each step before proceeding to the
+* next.
+*
+* Debugging Exercise 1
+*
+* 1) Build and run the program.
+* 2) Examine the code and the output and notice the use of
+* parallel arrays.
+* 3) Insert breakpoints at Breakpoint 1, Breakpoint 2, and Breakpoint
+* 3.
+* 4) Run to Breakpoint 1.
+* 5) Place a watch on varX, varY and varZ. Click on the '+' in the
+* watch window to see the individual elements associated with each
+* of the arrays.
+* 6) Continue running your program to Breakpoint 2.
+* 7) Add a watch on the array called name. Again, click on the '+'
+* symbol. Notice how a multidimensional array is shown in the
+* debugger, the null terminating characters location, and how a
+* character is represented within each element of the array.
+* 8) Continue running the program to Breakpoint 3.
+* 9) Notice the contents of varX and varY now that you are back in the
+* main function.
+* 10) Clear all the breakpoints.
+* 11) Stop debugging.
+*
+* Debugging Exercise 2
+*
+* 1) Change the constant SIZE from 5 to 10.
+* 2) Change any literal containing a 5 to the constant SIZE.
+* Notice the usefulness of the constant when changes need
+* to be made to your code.
+* 3) Set a breakpoint at Breakpoint 4. Now on this breakpoint
+* set the necessary condition so the loop breaks when x hits 8.
+* (Hint: If you need help setting breakpoints based upon a
+* condition refer to Chapter 8).
+* 4) Run to Breakpoint 4.
+* 5) Continue stepping into the remainder of the for loop until the
+* flow returns back to main.
+* 6) Make sure your Watch window is visible and notice the contents
+* of varY and varZ now that you are back in main.
+* 7) Stop debugging.
+* 8) Disable all breakpoints.
+* 9) Rebuild and execute the program and verify the results.
+*
+* Debugging Exercise 3
+*
+* 1) Just before the call to the PrintFunction in main, add an
+* assignment statement to change the first element in the
+* array varZ to -99.
+* 2) Build and execute your code, verifying that the calculations
+* are correct in relation to element 0 of varZ.
+* 3) Add a line to assign the contents of the second element of
+* varX to 99 in FunctionTwo.
+* 4) Rebuild your program.
+* 5 Obviously there is a problem. Remove the const from the
+* function declaration and header for varX.
+* 5) Now you should be able to build and execute your code. Do it.
+* 6) Set a breakpoint on Breakpoint 2.
+* 7) Re-enable Breakpoint 2.
+* 8) Run to Breakpoint 2 and make sure you have a watch on the
+* variable name.
+* 9) Click on the '+'. Once you see all the elements
+* within the array, change the 'Value' (in the Value field)
+* for the first element of the array directly within the Watch
+* window to the character 'Z'. Notice how the value is updated
+* by displaying the new ASCII value too.
+* 10) Stop debugging.
+* 11) Disable all breakpoints.
+*
+********************************************************************/
+#include <iostream>
+#include <iomanip>
+using std::cin;
+using std::cout;
+using std::endl;
+using std::setw;
+
+void GetAndDisplayWelcomeInfo();
+void FunctionOne(int varX[], int varY[]);
+void FunctionTwo(const int varX[], const int varY[], int varZ[]);
+void PrintFunction(const int varX[], const int varY[],
+ const int varZ[]);
+
+const int SIZE = 5;
+
+int main()
+{
+ int varX[5];
+ int varY[SIZE];
+ int varZ[SIZE]; // Notice how we used the const here!
+
+ // Breakpoint 1
+ // Put breakpoint on the following line
+ GetAndDisplayWelcomeInfo();
+ FunctionOne(varX, varY);
+
+ // Breakpoint 3
+ // Put breakpoint on the following line
+ FunctionTwo(varX, varY, varZ);
+ PrintFunction(varX, varY, varZ);
+
+ return 0;
+}
+void GetAndDisplayWelcomeInfo()
+{
+ char name[2][20]; // First name in row 0, last name in row 1
+
+ cout << "Please enter your first name: ";
+ cin >> name[0];
+
+ cout << "\nPlease enter your last name: ";
+ cin >> name[1];
+
+ // Breakpoint 2
+ // Put breakpoint on the following line
+ cout << "\n\n\tWelcome " << name[0] << " " << name[1]
+ << "!\n\t Hope all is well \n\n";
+}
+void FunctionOne(int varX[], int varY[])
+{
+ for (int x = 0; x < SIZE; x++) // NOTICE '<' NOT <=
+ // Breakpoint 4
+ // Put breakpoint on the following line
+ varX[x] = x;
+
+ for (int x = 0; x < 5; x++)
+ varY[x] = x + 100;
+}
+void FunctionTwo(const int varX[], const int varY[], int varZ[])
+{
+ for (int x = 0; x < SIZE; x++) // Notice the const SIZE here
+ varZ[x] = varX[x] + varY[x];
+}
+void PrintFunction(const int varX[20], const int varY[20],
+ const int varZ[20])
+{
+ int x;
+
+ cout << " \t x \t y \t z\n\n";
+
+ for (x = 0; x < SIZE; x++)
+ cout << "\t" << setw(3) << varX[x]
+ << "\t " << varY[x]
+ << "\t " << varZ[x] << endl;
+}
diff --git a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj b/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj
index 35e9b1e..1eaaf0e 100644
--- a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj
+++ b/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj
@@ -24,6 +24,7 @@
<ProjectGuid>{25de9f3e-d136-4e74-afd8-995bd672d9c4}</ProjectGuid>
<RootNamespace>CST116Ch10Debugging</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <ProjectName>CST116-Ch10-Debugging-Chambers</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@@ -127,7 +128,11 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <ClCompile Include="CST116-Ch10-Debugging.cpp" />
+ <ClCompile Include="CST116-Ch10-Debugging-Chambers.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="CST116-Ch10-Solution.txt" />
+ <Text Include="CST116-Ch10-Psuedocode.txt" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj.filters b/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj.filters
index dc0ce4a..03bd587 100644
--- a/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj.filters
+++ b/CST116-Ch10-Debugging/CST116-Ch10-Debugging.vcxproj.filters
@@ -15,8 +15,16 @@
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="CST116-Ch10-Debugging.cpp">
+ <ClCompile Include="CST116-Ch10-Debugging-Chambers.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
+ <ItemGroup>
+ <Text Include="CST116-Ch10-Solution.txt">
+ <Filter>Source Files</Filter>
+ </Text>
+ <Text Include="CST116-Ch10-Psuedocode.txt">
+ <Filter>Source Files</Filter>
+ </Text>
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/CST116-Ch10-Debugging/CST116-Ch10-Psuedocode.txt b/CST116-Ch10-Debugging/CST116-Ch10-Psuedocode.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/CST116-Ch10-Debugging/CST116-Ch10-Psuedocode.txt
diff --git a/CST116-Ch10-Debugging/CST116-Ch10-Solution.txt b/CST116-Ch10-Debugging/CST116-Ch10-Solution.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/CST116-Ch10-Debugging/CST116-Ch10-Solution.txt