a5q2

 avatar
unknown
c_cpp
6 months ago
2.4 kB
5
Indexable
#include <iostream> 
#include <fstream> 
#include <iomanip>  
using namespace std;

float triangleArea(float base, float height) {
    return (0.5 * base * height);
}

float polygonArea(int sidesOfPolygon, float distanceFromCenter, float length) {
    float oneTriangleArea = triangleArea(length, distanceFromCenter); 
    return (oneTriangleArea * sidesOfPolygon); 
}

float polygonPerimeter(int sidesOfPolygon, float length) {
    return (sidesOfPolygon * length); 
}

float totalCost(int sidesOfPolygon, float distanceFromCenter, float length) {
    float area = polygonArea(sidesOfPolygon, distanceFromCenter, length); 
    float perimeter = polygonPerimeter(sidesOfPolygon, length); 
    return (12 * area + 3 * perimeter);
}


void readAndWriteFiles() {
    ifstream fileObject1; 
    fileObject1.open("jobs.txt"); 
    ofstream fileObject2; 
    fileObject2.open("jobsProcessing.txt");

    int jobNumber = 0; 
    int numberOfSides = 0;
    float lengthOfSide = 0; 
    float distanceFromCenter = 0;
    float cost = 0; 
    float pavingCost = 0; 

    float mostExpensive = 0; 
    float totalJobCost = 0; 
    int counter = 0; 
    float averageCost = 0; 

    if (!fileObject1.fail() && !fileObject2.fail()) {
        fileObject2 << setw(10) << "Job Number" << setw(20) << "Paving Cost" << endl; 
        while (fileObject1 >> jobNumber >> numberOfSides >> lengthOfSide >> distanceFromCenter) {
            cost = totalCost(numberOfSides, distanceFromCenter, lengthOfSide);
            pavingCost = polygonArea(numberOfSides, distanceFromCenter, lengthOfSide) * 12; 
            fileObject2 << setw(10) << jobNumber << setw(10) << "$" << fixed << setprecision(2) << pavingCost << endl;

            if (cost > mostExpensive) {
                mostExpensive = cost;
            }
            totalJobCost += cost; 
            counter += 1; 
        }
        
        fileObject2 << "The most expensive yard was: $" << fixed << setprecision(2) << mostExpensive << endl;
        fileObject2 << "The total cost of the total jobs was: $" << fixed << setprecision(2) << totalJobCost << endl;
        fileObject2 << "The average cost of all the jobs was: $" << fixed << setprecision(2) << totalJobCost/float(counter) << endl;




        fileObject1.close();  
        fileObject2.close(); 

    } else {
        cout << "Error opening the file for reading." << endl;
    }
}

int main() { 
    readAndWriteFiles(); 
}
Editor is loading...
Leave a Comment