From ce12e5fd0c7be54069637e5896872c6d248d93c0 Mon Sep 17 00:00:00 2001 From: Lloyd Crawford Date: Wed, 19 Oct 2022 20:46:02 -0700 Subject: Here is my 2nd attempt to upload my HW Ch9 Debugging. --- .../CST116-CH9 Debugging-Output-Crawford.txt | 13 +++ .../CST116-Ch9 Debugging-Pseudocode-Crawford.txt | 59 +++++++++++ .../CST116-Ch9-Debugging-Crawford.cpp | 111 +++++++++++++++++++++ CST116-Ch9-Debugging/CST116-Ch9-Debugging.cpp | 110 -------------------- CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj | 3 +- .../CST116-Ch9-Debugging.vcxproj.filters | 2 +- 6 files changed, 186 insertions(+), 112 deletions(-) create mode 100644 CST116-Ch9-Debugging/CST116-CH9 Debugging-Output-Crawford.txt create mode 100644 CST116-Ch9-Debugging/CST116-Ch9 Debugging-Pseudocode-Crawford.txt create mode 100644 CST116-Ch9-Debugging/CST116-Ch9-Debugging-Crawford.cpp delete mode 100644 CST116-Ch9-Debugging/CST116-Ch9-Debugging.cpp diff --git a/CST116-Ch9-Debugging/CST116-CH9 Debugging-Output-Crawford.txt b/CST116-Ch9-Debugging/CST116-CH9 Debugging-Output-Crawford.txt new file mode 100644 index 0000000..c43f69c --- /dev/null +++ b/CST116-Ch9-Debugging/CST116-CH9 Debugging-Output-Crawford.txt @@ -0,0 +1,13 @@ +Breakpoint1age=0days=0address of age0000009A6B8FF894 +Breakpoint age=0At Address:0000009A6B8FF894 +Please enter your age: 20 + Breakpoint age = 20 At Address: 0000009A6B8FF894 +Breakpoint2age=20days = 7300address of age0000009A6B8FF894 +7300! Boy are you old! +Did you know that you are at least 20 days old? + + +C:\Users\Lloyd Crawford\source\repos\cst116-ch9-debugging-19-Ruin\CST116-Ch9-Debugging\x64\Debug\CST116-Ch9-Debugging-Crawford.exe (process 16508) 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 . . . + diff --git a/CST116-Ch9-Debugging/CST116-Ch9 Debugging-Pseudocode-Crawford.txt b/CST116-Ch9-Debugging/CST116-Ch9 Debugging-Pseudocode-Crawford.txt new file mode 100644 index 0000000..091a23e --- /dev/null +++ b/CST116-Ch9-Debugging/CST116-Ch9 Debugging-Pseudocode-Crawford.txt @@ -0,0 +1,59 @@ +Include standard operation parameters +[#include +using std::cout; +using std::cin; +using std::endl;] + +*Simulate age of person and how old they are in days. +const int DAYS_PER_YEAR = 365; + +int GetAge(int &a); +int CalcDays(int age); +void PrintResults(int age, int days); + +int main() +{ + int age = 0; + int days = 0; + // Breakpoint 1 + // Put breakpoint on the following line + cout << "Breakpoint1age=" << age << "days=" << days << "address of age" << &age << endl; + + GetAge(age); + days = CalcDays(age); + + // Breakpoint 2 + // Put breakpoint on the following line + cout<<"Breakpoint2age="<< age << "days = " << days << "address of age" << &age << endl; + PrintResults(age, days); + + return 0; +} +* Part 1&2 Get the age of the user +*return a non-0 on an error, 0 otherwise + +int GetAge(int &age) +{ + cout << "Breakpoint age=" << age << "At Address:" << &age << endl; + cout << "Please enter your age: "; + cin >> age; + cout << " Breakpoint age = " << age << " At Address: " << &age << endl; + return age; +} +*Past section calculates the number of days in years +*set year parameter, Number of Years + +int CalcDays(int years) +{ + int days; + days = years * DAYS_PER_YEAR; + + return days; +} +void PrintResults(int days, int age) +{ + cout << age << "! Boy are you old!\n"; + cout << "Did you know that you are at least " << days << " days old?\n\n"; +} +*This prints the number of years & days to the screen with message +Shows age in days and years. \ No newline at end of file diff --git a/CST116-Ch9-Debugging/CST116-Ch9-Debugging-Crawford.cpp b/CST116-Ch9-Debugging/CST116-Ch9-Debugging-Crawford.cpp new file mode 100644 index 0000000..abb24a8 --- /dev/null +++ b/CST116-Ch9-Debugging/CST116-Ch9-Debugging-Crawford.cpp @@ -0,0 +1,111 @@ +/******************************************************************** +* File: CST116-Ch9-Debugging.cpp +*Lloyd Crawford, CST 116 02, CH 8 Debugging, IDE, Simple Program, Github +* General Instructions: Complete each step before proceeding to the +* next. +* +* Debugging Exercise 1 +* +* 1) Insert a breakpoint on the lines indicated in the code. +* 2) Run to Breakpoint 1. +* 3) Place a watch on age and days. +* 4) Add another watch using & age for the name. This will display +* the address of age. +* 5) Write down the address of age. 0x00000041362ff714 {0} +* 6) Step Into the code for the function GetAge. +* 7) The execution continues to the function header for GetAge. +* 8) Step into one more time. +* 9) Why did the address of age and value change? Must be an error in the coding. +* 10) Step over the cout and cin statements. +* 11) Verify the value entered is stored properly in age. +* 12) Step into until the flow returns to main. +* 13) Step over one more time. +* 14) Why didn't the value entered get transferred back to main? +* 15) Stop debugging and fix the error. +* 16) Run to Breakpoint 1. +* 17) Step over the function call to GetAge. +* 18) Verify that the value entered was returned and stored +* correctly from GetAge. +* 19) Stop debugging. +* +* Debugging Exercise 2 +* +* 1) Run to Breakpoint 1. +* 2) Step over the call to GetAge. +* 3) Step into CalcDays. +* 4) Step into one more time so that the current line is the +* calculation. +* 5) Why is age greyed out in your watch window? +* 6) Stop debugging. +* +* Debugging Exercise 3 +* +* 1) Run to Breakpoint 2. +* 2) When asked, enter the value of 20 for your age. +* 3) Verify that the variable age is 20 and the variable days +* is 7300. +* 4) Step into the PrintResults function. +* 5) Age is 7300? Not even Ralph is that old. +* 6) Why did the values for both variables change? +* 7) Stop debugging and fix the error. +* +* Debugging Exercise 4 +* +* 1) Run to Breakpoint 2. +* 2) Display your Call Stack window. +* 3) View the contents of the window and notice that the top +* function on the stack is main. +* 4) Step into the PrintResults function. +* 5) Notice that the call stack now shows PrintResults on top of +* the stack. +********************************************************************/ +#include +using std::cout; +using std::cin; +using std::endl; + +const int DAYS_PER_YEAR = 365; + +int GetAge(int &a); +int CalcDays(int age); +void PrintResults(int age, int days); + +int main() +{ + int age = 0; + int days = 0; + // Breakpoint 1 + // Put breakpoint on the following line + cout << "Breakpoint1age=" << age << "days=" << days << "address of age" << &age << endl; + + GetAge(age); + days = CalcDays(age); + + // Breakpoint 2 + // Put breakpoint on the following line + cout<<"Breakpoint2age="<< age << "days = " << days << "address of age" << &age << endl; + PrintResults(age, days); + + return 0; +} +int GetAge(int &age) +{ + cout << "Breakpoint age=" << age << "At Address:" << &age << endl; + cout << "Please enter your age: "; + cin >> age; + cout << " Breakpoint age = " << age << " At Address: " << &age << endl; + return age; +} +int CalcDays(int years) +{ + int days; + days = years * DAYS_PER_YEAR; + + return days; +} +void PrintResults(int days, int age) +{ + cout << age << "! Boy are you old!\n"; + cout << "Did you know that you are at least " << days << " days old?\n\n"; +} +// In this debugging alot of it was missing parameters entirely. \ No newline at end of file diff --git a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.cpp b/CST116-Ch9-Debugging/CST116-Ch9-Debugging.cpp deleted file mode 100644 index eff8980..0000000 --- a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.cpp +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************** -* File: CST116-Ch9-Debugging.cpp -* -* General Instructions: Complete each step before proceeding to the -* next. -* -* Debugging Exercise 1 -* -* 1) Insert a breakpoint on the lines indicated in the code. -* 2) Run to Breakpoint 1. -* 3) Place a watch on age and days. -* 4) Add another watch using &age for the name. This will display -* the address of age. -* 5) Write down the address of age. -* 6) Step Into the code for the function GetAge. -* 7) The execution continues to the function header for GetAge. -* 8) Step into one more time. -* 9) Why did the address of age and value change? -* 10) Step over the cout and cin statements. -* 11) Verify the value entered is stored properly in age. -* 12) Step into until the flow returns to main. -* 13) Step over one more time. -* 14) Why didn't the value entered get transferred back to main? -* 15) Stop debugging and fix the error. -* 16) Run to Breakpoint 1. -* 17) Step over the function call to GetAge. -* 18) Verify that the value entered was returned and stored -* correctly from GetAge. -* 19) Stop debugging. -* -* Debugging Exercise 2 -* -* 1) Run to Breakpoint 1. -* 2) Step over the call to GetAge. -* 3) Step into CalcDays. -* 4) Step into one more time so that the current line is the -* calculation. -* 5) Why is age greyed out in your watch window? -* 6) Stop debugging. -* -* Debugging Exercise 3 -* -* 1) Run to Breakpoint 2. -* 2) When asked, enter the value of 20 for your age. -* 3) Verify that the variable age is 20 and the variable days -* is 7300. -* 4) Step into the PrintResults function. -* 5) Age is 7300? Not even Ralph is that old. -* 6) Why did the values for both variables change? -* 7) Stop debugging and fix the error. -* -* Debugging Exercise 4 -* -* 1) Run to Breakpoint 2. -* 2) Display your Call Stack window. -* 3) View the contents of the window and notice that the top -* function on the stack is main. -* 4) Step into the PrintResults function. -* 5) Notice that the call stack now shows PrintResults on top of -* the stack. -********************************************************************/ -#include -using std::cout; -using std::cin; -using std::endl; - -const int DAYS_PER_YEAR = 365; - -int GetAge(); -int CalcDays(int age); -void PrintResults(int age, int days); - -int main() -{ - int age = 0; - int days = 0; - - // Breakpoint 1 - // Put breakpoint on the following line - GetAge(); - days = CalcDays(age); - - // Breakpoint 2 - // Put breakpoint on the following line - PrintResults(age, days); - - return 0; -} -int GetAge() -{ - int age; - - cout << "Please enter your age: "; - cin >> age; - - return age; -} -int CalcDays(int years) -{ - int days; - - days = years * DAYS_PER_YEAR; - - return days; -} -void PrintResults(int days, int age) -{ - cout << age << "! Boy are you old!\n"; - cout << "Did you know that you are at least " << days << " days old?\n\n"; -} diff --git a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj b/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj index d7fabd9..ab6114a 100644 --- a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj +++ b/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj @@ -24,6 +24,7 @@ {dbddd78c-6ddc-4fba-9b3c-fba74b592826} CST116Ch9Debugging 10.0 + CST116-Ch9-Debugging-Crawford @@ -127,7 +128,7 @@ - + diff --git a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj.filters b/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj.filters index 2f59736..c34d1ad 100644 --- a/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj.filters +++ b/CST116-Ch9-Debugging/CST116-Ch9-Debugging.vcxproj.filters @@ -15,7 +15,7 @@ - + Source Files -- cgit v1.2.3