+1 (315) 557-6473 

C++ Program to Create a Sales Output System Assignment Solution.


Instructions

Objective
Write a C++ assignment program to create a sales output system.

Requirements and Specifications

Create a Program in C ++ to create a sales output
Use functions and methods
Source Code
#include
#include
#include
#include
using namespace std;
typedef struct
{
string firstname;
string lastname;
int noWeeks;
double salesdata[10][5] ; //max 10 weeks with each having 5 days
}salesman;
//loads sales man data from specified file and retures the number of salesmen loaded
int loadfile(string filename, salesman salesmen[]);
void process(salesman salesmen[], int count);
int main()
{
string infilename = "theSales.txt";
ifstream infile;
int count;
salesman salesmen[10]; //max 10 salesmen
count = loadfile(infilename, salesmen);
process(salesmen, count);
}
int loadfile(string filename, salesman salesmen[])
{
fstream infile;
int count;
infile.open(filename.c_str());
if(!infile.is_open())
{
cout << "ERROR: could not open file " << filename << endl;
exit(1);
}
infile >> count; // read the number of salesmen
for(int idx = 0; idx < count; idx++)
{
infile >> salesmen[idx].lastname >> salesmen[idx].firstname >> salesmen[idx].noWeeks;
for(int week = 0; week < salesmen[idx].noWeeks; week++) // for each week
{
for(int day = 0; day < 5; day++) // for each day in the week
infile >> salesmen[idx].salesdata[week][day];
}
}
infile.close();
return count;
}
void process(salesman salesmen[], int count)
{
double smTotal, smAvg ; //for an individual salesman
int totalWeeks = 0;
double grandTotalSales = 0, grandAvgSales = 0; //for overall (all the weeks of all salesmen
string filename;
ofstream outfile;
cout << "Enter output filename: " ;
cin >> filename;
outfile.open(filename.c_str());
if(!outfile.is_open())
{
cout << "Could not open output file " << filename << endl;
exit(1);
}
outfile << "Number of Salemen: " << count << endl;
outfile << fixed << setprecision(2);
for(int i = 0; i < count; i++)
{
outfile << salesmen[i].lastname << endl;
for(int week = 0; week < salesmen[i].noWeeks; week++)
{
//calculate weekly total and avg for the current saleman
smTotal = 0;
for(int day = 0; day < 5; day++)
{
smTotal += salesmen[i].salesdata[week][day];
}
grandTotalSales += smTotal;
smAvg = smTotal / 5;
outfile << smTotal << " " << smAvg << endl;
}
totalWeeks += salesmen[i].noWeeks;
}
grandAvgSales = grandTotalSales / totalWeeks;
outfile << "The total number of weeks altogether: " << totalWeeks << endl;
outfile << "The grand total sales: " << grandTotalSales << endl;
outfile << "Averge sales per week: " << grandAvgSales << endl;
outfile.close();
cout << "Finished processing. Check output file " << filename << endl;
}