aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CST116F2021-Lab4/CST116F2021-Lab4.cpp278
1 files changed, 196 insertions, 82 deletions
diff --git a/CST116F2021-Lab4/CST116F2021-Lab4.cpp b/CST116F2021-Lab4/CST116F2021-Lab4.cpp
index d56d919..3bf2e6d 100644
--- a/CST116F2021-Lab4/CST116F2021-Lab4.cpp
+++ b/CST116F2021-Lab4/CST116F2021-Lab4.cpp
@@ -6,91 +6,205 @@
using namespace std;
-void GetInput(int& display_input, int& hours, int& minutes, int& seconds);
-void DisplayTime(int display_display,int& hours_display, int& minutes_display, int& seconds_display);
-
-int main()
-{
- int display = 1, hours = 0, minutes = 0, seconds = 0;
- GetInput(display, hours, minutes, seconds);
-
- DisplayTime(display, hours, minutes, seconds);
-}
-
-void GetInput(int& display_input, int& hours_input, int& minutes_input, int& seconds_input)
-{
- do
- {
- cout << "Please enter the current hour from 0 to 23: ";
- cin >> hours_input;
- } while (hours_input < 0 || hours_input > 23);
-
- do
- {
- cout << "Please enter the current minutes from 0 to 59: ";
- cin >> minutes_input;
- } while (minutes_input < 0 || minutes_input > 59);
-
- do
- {
- cout << "Please enter the current seconds from 0 to 59: ";
- cin >> seconds_input;
- } while (seconds_input < 0 || seconds_input > 59);
-
- do
- {
- cout << "Please choose the display format by entering the corresponding number.\n1. Standard Time\n2. Military Time\n3. 24-hour Notation\n";
- cin >> display_input;
- } while (display_input < 1 || display_input > 3);
-}
-
-void DisplayTime(int display_display, int& hours_display, int& minutes_display, int& seconds_display)
-{
- switch (display_display)
- {
- case 1:
- {
- //set hours to 12 hours time before cout
- string suffix;
-
- if (hours_display > 12 && hours_display != 0) //fix for PM time
- {
- hours_display -= 12;
- suffix = " P.M.";
- }
- else if (hours_display == 12) //fix for 12 noon
- suffix = " P.M.";
- else if (hours_display == 0) //fix for 12 midnight
- {
- hours_display += 12;
- suffix = " A.M.";
- }
- else //remaining times are AM
- suffix = " A.M.";
-
- cout << "\nThe current time in standard time is " << hours_display << ":" << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display << suffix;
- break;
- }
-
- case 2:
- {
- //OUTDATED::::IGNORE
- //Revert back to 24 hour format
+///********************************************************************
+//* File: Chapter 9 Debug.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. 0x0000006f7bf9f9a4 {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? The address in memory and the value stored are different inside this function compared to main.
+//* 10) Step over the cout and cin statements.
+//* 11) Verify the value entered is stored properly in age. It did
+//* 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? The value for age is not equated to the function call.
+//* 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. It did
+//* 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? The value for age is stale.
+//* 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. It is
+//* 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? The variables were defined in the wrong order
+//* 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 <iostream>
+//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
+// age = 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 age, int days)
+//{
+// cout << age << "! Boy are you old!\n";
+// cout << "Did you know that you are at least " << days << " days old?\n\n";
+//}
- //if (suffix == " A.M." && hours_display == 12) //fix for midnight
- // hours_display = 0;
- //else if (suffix == " P.M.") //fix for PM times
- // hours_display += 12;
- cout << "\nThe current time in military time is " << setw(2) << setfill('0') << hours_display << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display;
- break;
- }
- case 3:
- cout << "\nThe current time in 24 hour notation time is " << setw(2) << setfill('0') << hours_display << ":" << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display;
- break;
- }
-}
+//p.216
+//void GetInput(int& display_input, int& hours, int& minutes, int& seconds);
+//void DisplayTime(int display_display,int& hours_display, int& minutes_display, int& seconds_display);
+//
+//int main()
+//{
+// int display = 1, hours = 0, minutes = 0, seconds = 0;
+// GetInput(display, hours, minutes, seconds);
+//
+// DisplayTime(display, hours, minutes, seconds);
+//}
+//
+//void GetInput(int& display_input, int& hours_input, int& minutes_input, int& seconds_input)
+//{
+// do
+// {
+// cout << "Please enter the current hour from 0 to 23: ";
+// cin >> hours_input;
+// } while (hours_input < 0 || hours_input > 23);
+//
+// do
+// {
+// cout << "Please enter the current minutes from 0 to 59: ";
+// cin >> minutes_input;
+// } while (minutes_input < 0 || minutes_input > 59);
+//
+// do
+// {
+// cout << "Please enter the current seconds from 0 to 59: ";
+// cin >> seconds_input;
+// } while (seconds_input < 0 || seconds_input > 59);
+//
+// do
+// {
+// cout << "Please choose the display format by entering the corresponding number.\n1. Standard Time\n2. Military Time\n3. 24-hour Notation\n";
+// cin >> display_input;
+// } while (display_input < 1 || display_input > 3);
+//}
+//
+//void DisplayTime(int display_display, int& hours_display, int& minutes_display, int& seconds_display)
+//{
+// switch (display_display)
+// {
+// case 1:
+// {
+// //set hours to 12 hours time before cout
+// string suffix;
+//
+// if (hours_display > 12 && hours_display != 0) //fix for PM time
+// {
+// hours_display -= 12;
+// suffix = " P.M.";
+// }
+// else if (hours_display == 12) //fix for 12 noon
+// suffix = " P.M.";
+// else if (hours_display == 0) //fix for 12 midnight
+// {
+// hours_display += 12;
+// suffix = " A.M.";
+// }
+// else //remaining times are AM
+// suffix = " A.M.";
+//
+// cout << "\nThe current time in standard time is " << hours_display << ":" << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display << suffix;
+// break;
+// }
+//
+// case 2:
+// {
+// //OUTDATED::::IGNORE
+// //Revert back to 24 hour format
+//
+// //if (suffix == " A.M." && hours_display == 12) //fix for midnight
+// // hours_display = 0;
+// //else if (suffix == " P.M.") //fix for PM times
+// // hours_display += 12;
+//
+//
+// cout << "\nThe current time in military time is " << setw(2) << setfill('0') << hours_display << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display;
+// break;
+// }
+// case 3:
+// cout << "\nThe current time in 24 hour notation time is " << setw(2) << setfill('0') << hours_display << ":" << setw(2) << setfill('0') << minutes_display << ":" << setw(2) << setfill('0') << seconds_display;
+// break;
+// }
+//}
//p.214
//void GetInput(float& salary, int& years_service);