diff options
| -rw-r--r-- | CST116F2021-Lab4/CST116F2021-Lab4.cpp | 278 |
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); |