aboutsummaryrefslogtreecommitdiff
path: root/CST116F2021-Lab8/CST116F2021-Lab8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CST116F2021-Lab8/CST116F2021-Lab8.cpp')
-rw-r--r--CST116F2021-Lab8/CST116F2021-Lab8.cpp237
1 files changed, 227 insertions, 10 deletions
diff --git a/CST116F2021-Lab8/CST116F2021-Lab8.cpp b/CST116F2021-Lab8/CST116F2021-Lab8.cpp
index d4a77b8..b2a6d15 100644
--- a/CST116F2021-Lab8/CST116F2021-Lab8.cpp
+++ b/CST116F2021-Lab8/CST116F2021-Lab8.cpp
@@ -2,19 +2,236 @@
//
#include <iostream>
+#include <iomanip>
+#include <fstream>
+#include <string>
+
+using namespace std;
+
+const int RECORDS = 100;
+
+void getData(string[RECORDS][6], int);
+void calcData(string[RECORDS][6],string[RECORDS][9], int);
+void dispData(string[RECORDS][9], int);
int main()
{
- std::cout << "Hello World!\n";
+ string user_data[RECORDS][6]{};
+ string output_data[RECORDS][9]{};
+ int num_records = 0;
+
+ getData(user_data, num_records);
+ calcData(user_data, output_data, num_records);
+ dispData(output_data, num_records);
+
+ return 0;
}
-// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
-// Debug program: F5 or Debug > Start Debugging menu
+void getData(string inputArray[][6], int inputRecords)
+{
+ ifstream inFile;
+
+ inFile.open("C:\\TEMP\\336_data.txt");
+
+ if (inFile.is_open())
+ {
+ //cout << left;
+ //cout << setw(width) << "First Name" << setw(width) << "Last Name" << setw(width) << "SSN" << setw(width) << "Wage" << setw(width) << "Hours/Week" << setw(width) << "Work Status" << endl;
+ while (getline(inFile, inputArray[inputRecords][0], ' '))
+ {
+ cout << left;
+
+ getline(inFile, inputArray[inputRecords][1], ' ');
+ //cout << inputArray[inputRecords][1] << setw(width);
+ getline(inFile, inputArray[inputRecords][2], ' ');
+ //cout << inputArray[inputRecords][2] << setw(width);
+ getline(inFile, inputArray[inputRecords][3], ' ');
+ //cout << inputArray[inputRecords][3] << setw(width);
+ getline(inFile, inputArray[inputRecords][4], ' ');
+ //cout << inputArray[inputRecords][4] << setw(width);
+ getline(inFile, inputArray[inputRecords][5]);
+ //cout << inputArray[inputRecords][5];
+ inputRecords++;
+ }
+ }
-// 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
+ inFile.close();
+}
+
+void calcData(string calcArray[][6], string postcalcArray[][9], int calcRecords)
+{
+ float rate = 0.0;
+ float std_pay = 0.0;
+ float ot_pay = 0.0;
+ float net_pay = 0.0;
+ int hours = 0;
+
+ while (calcRecords < 11)
+ {
+ rate = stof(calcArray[calcRecords][3]);
+ hours = stoi(calcArray[calcRecords][4]);
+ if (calcArray[calcRecords][5] == "P")
+ {
+ std_pay = rate * hours;
+ net_pay = std_pay;
+ postcalcArray[calcRecords][7] = "Part Time";
+ }
+ else if (hours > 40 && calcArray[calcRecords][5] == "F")
+ {
+ std_pay = (40 * rate);
+ ot_pay = ((hours - 40) * (rate * 1.5));
+ net_pay = std_pay + ot_pay - 5;
+ postcalcArray[calcRecords][7] = "Full Time";
+ }
+ else
+ {
+ std_pay = rate * hours;
+ net_pay = std_pay - 5;
+ postcalcArray[calcRecords][7] = "Full Time";
+ }
+ postcalcArray[calcRecords][0] = calcArray[calcRecords][0];
+ postcalcArray[calcRecords][1] = calcArray[calcRecords][1];
+ postcalcArray[calcRecords][2] = calcArray[calcRecords][2];
+ postcalcArray[calcRecords][3] = calcArray[calcRecords][3];
+ postcalcArray[calcRecords][4] = calcArray[calcRecords][4];
+ postcalcArray[calcRecords][5] = to_string(std_pay);
+ postcalcArray[calcRecords][6] = to_string(ot_pay);
+ postcalcArray[calcRecords][8] = to_string(net_pay);
+ calcRecords++;
+ }
+}
+
+void dispData(string outputArray[][9], int outputRecords)
+{
+ int width = 20;
+
+ cout << left;
+ cout << setw(width) << "First Name" << setw(width) << "Last Name" << setw(width) << "SSN" << setw(width) << "Wage" << setw(width) << "Hours/Week" << setw(width) << "Straight Time Pay" << setw(width) << "Overtime Pay" << setw(width) << "Work Status" << setw(width) << "Net Pay" << endl;
+
+ while (outputRecords < 11)
+ {
+ cout << setw(width);
+ cout << outputArray[outputRecords][0] << setw(width);
+ cout << outputArray[outputRecords][1] << setw(width);
+ cout << outputArray[outputRecords][2] << setw(width);
+ cout << outputArray[outputRecords][3] << setw(width);
+ cout << outputArray[outputRecords][4] << setw(width);
+ cout << fixed << setprecision(2) << stof(outputArray[outputRecords][5]) << setw(width);
+ cout << fixed << setprecision(2) << stof(outputArray[outputRecords][6]) << setw(width);
+ cout << outputArray[outputRecords][7] << setw(width);
+ cout << fixed << setprecision(2) << stof(outputArray[outputRecords][8]);
+ cout << endl;
+ outputRecords++;
+ }
+}
+
+//p.323
+//#include <iostream>
+//#include <fstream>
+//
+//using namespace std;
+//
+//const int NUMBERS = 100;
+//
+//int main()
+//{
+// int num_values = 0;
+// int temp = 0;
+// float median = 0.0;
+// float values[NUMBERS]{};
+//
+// ifstream inFile;
+// inFile.open("C:\\TEMP\\323_values.txt");
+//
+// if (inFile.is_open())
+// {
+// inFile >> values[num_values];
+// cout << values[num_values] << endl;
+// while (!inFile.eof())
+// {
+// num_values++;
+// inFile >> values[num_values];
+// cout << values[num_values] << endl;
+// }
+// num_values++;
+//
+// temp = num_values % 2;
+//
+// if (temp)
+// {
+// median = values[(num_values) / 2];
+// }
+// else
+// {
+// median = (values[(num_values-1) / 2] + values[((num_values-1) / 2) + 1]) / 2;
+// }
+//
+// cout << "The median of this set of " << num_values << " is " << median << '.' << endl;
+// }
+// inFile.close();
+// return 0;
+//}
+
+
+
+
+//EXAMPLE
+//#include <iostream>
+//#include <fstream>
+//#include <string>
+//
+//using namespace std;
+//
+//const int RECORDS = 100;
+//const int MAX = 4;
+//
+//int main()
+//{
+// string record[RECORDS][MAX]{};
+// int num_records = 0;
+// char inChar[50];
+// string inString;
+//
+// FILE* inPtr;
+// ifstream inFile;
+// ofstream outFile;
+// outFile.open("C:\\TEMP\\Chap_11_Report.txt");
+// //r for read, w for write
+// fopen_s(&inPtr, "C:\\TEMP\\Chap_11_Data.txt", "r");
+// //inFile.open("C:\\TEMP\\Chap_11_Data.txt");
+//
+// if (/*inFile.is_open()*/ inPtr != NULL && outFile.is_open())
+// {
+// while (/*getline(inFile, record[num_records][0], ' ')*/ fscanf_s(inPtr, "%s", inChar, 50) >=0)
+// {
+// inString = inChar;
+// record[num_records][0] = inString;
+// cout << record[num_records][0];
+// outFile << record[num_records][0];
+// fscanf_s(inPtr, "%s", inChar, 50);
+// inString = inChar;
+// record[num_records][1] = inString;
+// //getline(inFile, record[num_records][1], ' ');
+// cout << record[num_records][1];
+// outFile << record[num_records][1];
+// fscanf_s(inPtr, "%s", inChar, 50);
+// inString = inChar;
+// record[num_records][2] = inString;
+// //getline(inFile, record[num_records][2], ' ');
+// cout << record[num_records][2];
+// outFile << record[num_records][2];
+// fscanf_s(inPtr, "%s", inChar, 50);
+// inString = inChar;
+// record[num_records][3] = inString;
+// //getline(inFile, record[num_records][3], ' ');
+// cout << record[num_records][3];
+// outFile << record[num_records][3];
+// num_records++;
+// }
+// }
+//
+//
+// inFile.close();
+// outFile.close();
+// return 0;
+//}