aboutsummaryrefslogtreecommitdiff
path: root/CST116F2021-Lab4/CST116F2021-Lab4.cpp
diff options
context:
space:
mode:
authorJordan HarrisToovy <[email protected]>2021-10-24 21:18:01 -0700
committerJordan HarrisToovy <[email protected]>2021-10-24 21:18:01 -0700
commit7ca10ff3f2123a5a56b92ff3667c70257dbe0218 (patch)
tree55db02c97b61f738a35ec03a4810e4f00d2cd32a /CST116F2021-Lab4/CST116F2021-Lab4.cpp
parentAdd online IDE url (diff)
downloadcst116-lab4-jordanht-oit-master.tar.xz
cst116-lab4-jordanht-oit-master.zip
Added code and documentationHEADmaster
Diffstat (limited to 'CST116F2021-Lab4/CST116F2021-Lab4.cpp')
-rw-r--r--CST116F2021-Lab4/CST116F2021-Lab4.cpp381
1 files changed, 369 insertions, 12 deletions
diff --git a/CST116F2021-Lab4/CST116F2021-Lab4.cpp b/CST116F2021-Lab4/CST116F2021-Lab4.cpp
index ff0073d..18af959 100644
--- a/CST116F2021-Lab4/CST116F2021-Lab4.cpp
+++ b/CST116F2021-Lab4/CST116F2021-Lab4.cpp
@@ -1,20 +1,377 @@
-// CST116F2021-Lab4.cpp : This file contains the 'main' function. Program execution begins and ends there.
-//
+//Code by Jordan Harris-Toovy for CST116-01P Lab 4, October 2021
#include <iostream>
+#include <iomanip>
+using namespace std;
+
+//7a - 9.3LBD#1
+
+/*
+float GetAvg(void);
+
+int main(void)
+{
+ float userAverage = 0.0F;
+
+ userAverage = GetAvg();
+
+ cout << "The average of the three values is: " << userAverage << endl;
+
+ return (0);
+}
+
+float GetAvg(void)
+{
+ float userVal1, userVal2, userVal3, averageVal = 0.0F;
+
+ cout << "Enter value 1: ";
+ cin >> userVal1;
+ cout << endl;
+
+ cout << "Enter value 2: ";
+ cin >> userVal2;
+ cout << endl;
+
+ cout << "Enter value 3: ";
+ cin >> userVal3;
+ cout << endl;
+
+ averageVal = (userVal1 + userVal2 + userVal3) / 3.0F;
+
+ return averageVal;
+}
+*/
+
+//7b - 9.4LBD#1
+
+/*
+void GetInput(float&, int&);
+void CalcRaise(float&, int&);
+int CalcBonus(int);
+void PrintCalculations(int, float, int);
+
int main()
{
- std::cout << "Hello World!\n";
+ float sal = 0.0F;
+ int year_served = 0, bonus = 0;
+
+ GetInput(sal, year_served);
+
+ CalcRaise(sal, year_served);
+
+ bonus = CalcBonus(year_served);
+
+ PrintCalculations(year_served, sal, bonus);
+
+ return (0);
}
-// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
-// Debug program: F5 or Debug > Start Debugging menu
-// Tips for Getting Started:
-// 1. Use the Solution Explorer window to add/manage files
-// 2. Use the Team Explorer window to connect to source control
-// 3. Use the Output window to see build output and other messages
-// 4. Use the Error List window to view errors
-// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
-// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
+void GetInput(float& salary, int& years_service)
+{
+ std::cout << "Enter the employee's salary: ";
+ std::cin >> salary;
+ std::cout << "\nEnter the employee's years of service: ";
+ std::cin >> years_service;
+}
+
+void CalcRaise(float& salary, int& years_service)
+{
+ if (years_service > 10)
+ {
+ salary *= 1.1;
+ }
+ else if (years_service > 5)
+ {
+ salary *= 1.05;
+ }
+ else
+ {
+ salary *= 1.02;
+ }
+}
+
+int CalcBonus(int years_service)
+{
+ int bonus = 0;
+ bonus = (years_service / 2) * 500;
+ bonus += (years_service % 2) * 500;
+ return bonus;
+}
+
+void PrintCalculations(int years_service, float salary, int bonus)
+{
+ cout << endl << "For the employee's " << years_service << " years of service: " << endl;
+ cout.setf(ios::fixed);
+ cout << setprecision(2) << "Their salary will be changed to " << salary << " USD per hour" << endl
+ << "And they will receive a bonus of " << bonus << " USD" << endl;
+}
+*/
+
+//7c - 9.5LBD#1
+
+/*
+
+void getTimeFromUser(int& hours, int& minutes, int& seconds);
+void displayTime(int& hours, int& minutes, int& seconds, int MODE = 1);
+
+int main(void)
+{
+ int h, m, s, MODE = 0;
+
+ getTimeFromUser(h, m, s);
+
+ while ((MODE != 1) && (MODE != 2) && (MODE != 3))
+ {
+ cout << "Please chose the time format to display:" << endl << "1) - 24 Hour time" << endl << "2) - Military time" << endl << "3) - 12 Hour time (standard)" << endl;
+ cin >> MODE;
+ if ((MODE != 1) && (MODE != 2) && (MODE != 3))
+ {
+ cout << "Invalid mode" << endl;
+ }
+ }
+
+ cout << endl << "The time is ";
+
+ displayTime(h, m, s, MODE);
+
+ return (0);
+}
+
+
+void getTimeFromUser(int& hours, int& minutes, int& seconds)
+{
+ int check = 0;
+ while (check == 0)
+ {
+ cout << "Please enter the current time:" << endl << "Hours: ";
+ cin >> hours;
+ cout << "Minutes: ";
+ cin >> minutes;
+ cout << "Seconds: ";
+ cin >> seconds;
+ cout << endl;
+
+ if ((hours >= 24) || (minutes >= 60) || (seconds >= 60))
+ {
+ check = 0;
+ cout << "Invalid time" << endl;
+ }
+ else
+ {
+ check = 1;
+ }
+ }
+}
+
+void displayTime(int& hours, int& minutes, int& seconds, int MODE)
+{
+ switch (MODE)
+ {
+ case 1:
+ cout << setfill('0') << setw(2) << hours << ":" << setfill('0') << setw(2) << minutes << ":" << setfill('0') << setw(2) << seconds << endl;
+ break;
+ case 2:
+ cout << setfill('0') << setw(2) << hours << setfill('0') << setw(2) << minutes << endl;
+ //It is unclear if military time format uses seconds, but most sources claim that it does not.
+ break;
+ case 3:
+ if (hours >= 12)
+ {
+ hours %= 12;
+ cout << hours << ":" << setfill('0') << setw(2) << minutes << ":" << setfill('0') << setw(2) << seconds << " PM" << endl;
+ }
+ else
+ {
+ cout << hours << ":" << setfill('0') << setw(2) << minutes << ":" << setfill('0') << setw(2) << seconds << " AM" << endl;
+ }
+ break;
+ default:
+ cout << endl << "Error" << endl;
+ break;
+ }
+}
+*/
+
+//8b - 9.14PE#1
+
+/*
+void DisplayRect(int width, int height);
+
+int main(void)
+{
+ int userW = 0, userH = 0;
+
+ //Get user input
+ while ((userW <= 1) || (userH <= 1))
+ {
+ cout << "Enter width and height of the rectangle: " << endl;
+ cin >> userW >> userH;
+ cout << endl;
+
+ if ((userW <= 1) || (userH <= 1))
+ {
+ cout << "Size too small" << endl;
+ }
+ }
+
+ DisplayRect(userW, userH);
+
+ return (0);
+}
+
+void DisplayRect(int width, int height)
+{
+ for (int idxY = 0; idxY <= height; idxY++)
+ {
+ if (idxY == 0) //Top segment
+ {
+ cout << (char)218;
+
+ for (int fillW = 0; fillW <= width - 3; fillW++)
+ {
+ cout << (char)196;
+ }
+
+ cout << (char)191 << endl;
+ }
+ else if (idxY < height) //Middle segments
+ {
+ cout << (char)179 << setw(width - 1) << (char)179 << endl;
+ }
+ else //Bottom segment
+ {
+ cout << (char)192;
+
+ for (int fillW = 0; fillW <= width - 3; fillW++)
+ {
+ cout << (char)196;
+ }
+
+ cout << (char)217 << endl;
+ }
+ }
+}
+*/
+
+
+//8a - 9.13-Debug-Ex
+
+//Note: code from textbook, modified my Jordan Harris-Toovy. Answers to asked questions in the Textual Work file
+
+/*
+* 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.
+* 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 <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(); //Fixed issue where function was not passing back to a variable
+ 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) //Fixed an issue where input names were swapped
+{
+ cout << age << "! Boy are you old!\n";
+ cout << "Did you know that you are at least " << days << " days old?\n\n";
+}
+
+*/ \ No newline at end of file