// CST116F2021-Lab8.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include #include #include #include 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() { 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; } 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++; } } 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 //#include // //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 //#include //#include // //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; //}