// CST116F2021-Lab4.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include #include using namespace std; //Prototypes void GetInput(int& height_input, int& width_input); void DisplayOutput(int height_output, int width_output); int main() { //define variables int height = 0, width = 0; //call input function GetInput(height, width); //call display function DisplayOutput(height, width); return 0; } void GetInput(int& height_input, int& width_input) { //Ask for user input height do { cout << "Please enter the height in characters of the rectangle: "; cin >> height_input; } while (height_input <= 0); //Ask for user input width do { cout << "Please enter the width in characters of the rectangle: "; cin >> width_input; } while (width_input <= 0); } void DisplayOutput(int height_display, int width_display) { //Clarifying Statement cout << "\nHere is a " << height_display << "x" << width_display << " rectangle.\n"; //width adjust per recommendation by Logan (approx. fixes h/w ratio) width_display *= 2; width_display += 1; //placeholder variables int tempw = width_display, temph = height_display; //Rectangle Display: Top Left Corner cout << (char)218; //Rectangle Display: Top Width Loop while (width_display != 0) { cout << (char)196; width_display -= 1; } //Rectangle Display: Top Right Corner cout << (char)191 << endl; //Rectangle Display: Left and Right Sides while (height_display != 0) { cout << (char)179 << setw(tempw+1) << (char)179 << endl; height_display -= 1; } //Rectangle Display: Bottom Left Corner cout << (char)192; //Rectangle Display: Bottom Width Loop while (tempw != 0) { cout << (char)196; tempw -= 1; } //Rectangle Display: Bottom Right Corner cout << (char)217 << endl; } ///******************************************************************** //* 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 //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"; //} //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); //void CalcRaise(float& salary, int years_service); //int CalcBonus(int years_service); //void PrintCalculations(int years_service, float salary, int bonus); // //int main() //{ // int years_service = 0, bonus = 0; // float salary = 0.0; // // GetInput(salary, years_service); // CalcRaise(salary, years_service); // bonus = CalcBonus(years_service); // PrintCalculations(years_service, salary, bonus); //} // //void GetInput(float& sal_input, int& years_service_input) //{ // do // { // cout << "Please input the salary: "; // cin >> sal_input; // } while (sal_input <= 0); // // do // { // cout << "Please input the years of service: "; // cin >> years_service_input; // } while (years_service_input <= 0); //} // //void CalcRaise(float& sal_raise, int years_service) //{ // if (years_service > 10) // sal_raise *= 1.1; // else if (years_service <= 10 && years_service >= 5) // sal_raise *= 1.05; // else // sal_raise *= 1.02; //} // //int CalcBonus(int years_service) //{ // int bonus = 0; // // bonus = (years_service / 2) * 500; // return bonus; //} // //void PrintCalculations(int years_service, float salary, int bonus) //{ // cout << "Due to your " << years_service << "years of service, your new salary is $" << salary << " and your bonus is $" << bonus << ".\n"; //} //pg.207 //float average(int, int, int, float); //int main() //{ // float avg = 0; // int input1 = 0, input2 = 0, input3 = 0; // // do // { // avg = average(input1, input2, input3, avg); // } while (avg == 0); // // cout << "The average of these values is " << avg; //} // //float average(int input1, int input2, int input3, float avg) //{ // do // { // cout << "Please input the first value: "; // cin >> input1; // } while (input1 <= 0); // // do // { // cout << "Please input the second value: "; // cin >> input2; // } while (input2 <= 0); // // do // { // cout << "Please input the third value: "; // cin >> input3; // } while (input3 <= 0); // // avg = (input1 + input2 + input3)/3; // // return avg; //}