CST116 Module 4: Lab 4 7a 6.8 Exercises pp 132-133 5 pts #1-9 Submit: value of “a” after the expression is executed 1. a = sqrt(9.0); a = 3.0 2. a = sqrt(-9.0); We cannot sqrt a negative 3. a = pow(2.0, 5); 32 4. a = pow(2.0, -2); .25 5. a = ceil(5.1); a = 6 6. a = ceil(5.9); a = 6 7. a = floor(5.1); a = 5 8. a = floor(5.9); a = 5 9. a = sqrt(pow(abs(-2), 4) ) a = 4 9.3 Exercises p 207 10 pts #1 Submit: code & run Total: 15 pts CODE: #include using namespace std; void average(float& num1, float& num2, float& num3); int main() { float num1, num2, num3; average(num1, num2, num3); return 0; } void average(float& num1, float& num2, float& num3) { float avg = 0; cout << "\nEnter the first number: "; cin >> num1; cout << "\nEnter the second number: "; cin >> num2; cout << "\nEnter the third number: "; cin >> num3; avg = (num1 + num2 + num3) / 3; cout << "\n\tThe average is " << avg << endl; } RUN: Enter the first number: 9 Enter the second number: 4 Enter the third number: 6 The average is 6.33333 7b 9.4 Learn by Doing Exercises p 214 10 pts #1 Submit: code & runs CODE: #include #include using namespace std; void GetInput(float& salary, int& years_service); void CalcRaise(float& salary, int& years_service); int CalcBonus(int years_service); void PrintCalculations(float salary, int years_service, int bonus); int main() { int years_service = 0; float salary = 0.0; int bonus = 0; GetInput(salary, years_service); CalcRaise(salary, years_service); bonus = CalcBonus(years_service); PrintCalculations(salary, years_service, bonus); return 0; } void GetInput(float& salary, int& years_service) { cout << "Enter the employee's salary: "; cin >> salary; if (salary > 0) { cout << "Enter the employee's years of service: "; cin >> years_service; } } void CalcRaise(float& salary, int& years_service) { if (years_service > 10) { salary = salary + (salary * .10); } else if (years_service >= 5 && years_service <= 10) { salary = salary + (salary * .05); } else { salary = salary + (salary * .02); } } int CalcBonus(int years_service) { int bonus = 0; int addBonus = 0; addBonus = years_service / 2; bonus = addBonus * 500; return bonus; } void PrintCalculations(float salary, int years_service, int bonus) { cout << "\n\t * Employee Stats *"; cout << "\n\tYears of Service: " << years_service; cout << "\n\tSalary After Raise: " << salary; cout << "\n\tYour Bonus: " << bonus << endl; } RUN 1: Enter the employee's salary: 5000 Enter the employee's years of service: 20 * Employee Stats * Years of Service: 20 Salary After Raise: 5500 Your Bonus: 5000 RUN 2: Enter the employee's salary: 5000 Enter the employee's years of service: 10 * Employee Stats * Years of Service: 10 Salary After Raise: 5250 Your Bonus: 2500 7c 9.5 Learn by Doing Exercises p 216 10 pts #2 Submit: code & runs CODE: #include #include using namespace std; void GetInput(int& hour, int& min, int& sec); void Display(int& hour, int& min, int& sec, int& disp); int main() { int hour, min, sec; int disp; GetInput(hour, min, sec); Display(hour, min, sec, disp); return 0; } void GetInput(int& hour, int& min, int& sec) { cout << "Enter the hour: "; cin >> hour; cout << "\nEnter the minute(s): "; cin >> min; cout << "\nEnter the second(s): "; cin >> sec; } void Display(int& hour, int& min, int& sec, int& disp) { int time = 0; cout << "\n\t\t Display Options "; cout << "\n\t\t1. Military Time "; cout << "\n\t\t2. 24 Hour Time "; cout << "\n\t\t3. Default Time "; cout << "\n\n\tHow is your time displayed? "; cin >> disp; switch (disp) { case 1: cout << "\n " << setw(2) << setfill('0') << hour; cout << setw(2) << setfill('0') << min; cout << setw(2) << setfill('0') << sec << endl; break; case 2: cout << "\n " << setw(2) << setfill('0') << hour; cout << ":" << setw(2) << setfill('0') << min; cout << ":" << setw(2) << setfill('0') << sec << endl; break; case 3: cout << "\n\t\t a.m. or p.m.? "; cout << "\n\t\t 1. a.m."; cout << "\n\t\t 2. p.m."; cout << "\n\n\tIs the time a.m. or p.m.? "; cin >> time; switch (time) { case 1: cout << "\n " << hour; cout << ":" << setw(2) << setfill('0') << min; cout << ":" << setw(2) << setfill('0') << sec << " a.m. " << endl; break; case 2: cout << "\n " << hour; cout << ":" << setw(2) << setfill('0') << min; cout << ":" << setw(2) << setfill('0') << sec << " p.m. " << endl; break; default: cout << "\n\tInvalid option entered." << endl; } break; default: cout << "\n\tInvalid option entered." << endl; } } RUN 1: Enter the hour: 2 Enter the minute(s): 42 Enter the second(s): 5 Display Options 1. Military Time 2. 24 Hour Time 3. Default Time How is your time displayed? 1 024205 RUN 2: Enter the hour: 8 Enter the minute(s): 6 Enter the second(s): 13 Display Options 1. Military Time 2. 24 Hour Time 3. Default Time How is your time displayed? 2 08:06:13 RUN 3: Enter the hour: 3 Enter the minute(s): 3 Enter the second(s): 25 Display Options 1. Military Time 2. 24 Hour Time 3. Default Time How is your time displayed? 3 a.m. or p.m.? 1. a.m. 2. p.m. Is the time a.m. or p.m.? 2 3:03:25 p.m. 8a 9.13 Debugging Exercises pp 226-229 10 pts #1 Submit: code & runs CODE: //Debugging Exercise 1 #include using std::cout; using std::cin; using std::endl; const int DAYS_PER_YEAR = 365; int GetAge(int& age); 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(age); 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"; } /*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? Because age does not show up within this function. * 6) Stop debugging. */ //Debugging Exercise 3 #include using std::cout; using std::cin; using std::endl; const int DAYS_PER_YEAR = 365; int GetAge(int& age); 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(age); 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"; } /*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. ********************************************************************/ 8b 9.14 Programming Exercises pp 229 10 pts #1 Submit: code & run CODE: #include using namespace std; int main() { int row = 0; int width = 0; int height = 0; cout << "Input height: "; cin >> height; cout << "Input width: "; cin >> width; cout << char(218); for (int row = 0; row < width; row++) cout << char(196); cout << char(191) << endl; for (int row = 0; row < height; row++) { cout << char(179); for (int side = 0; side < width; side++) cout << " "; cout << char(179) << endl; } cout << char(192); for (int row = 0; row < width; row++) cout << char(196); cout << char(217) << endl; return 0; } RUN: Input height: 5 Input width: 20 ┌────────────────────┐ │ │ │ │ │ │ │ │ │ │ └────────────────────┘