1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
const int maxs = 50;
void initem(int id[], string name[], int usold[], double uprice[],
double totusales[], int totusold[], double totuprice[],
int &nums, int &nump)
{
int i;
for(i=0; i<maxs; i++)
{
id[i] = 0;
usold[i] = 0;
uprice[i] = 0;
totusold[i] = 0;
totuprice[i] = 0;
totusales[i] = 0;
name[i] = "Brock Sampson";
}
nums = 0;
nump = 0;
}
void printline(char ch, int nums, ofstream &outf)
{
int i;
outf << setw(3);
for (i=1; i<nums; i++) outf << ch;
outf << endl;
}
void printtitles1(ofstream &outf)
{
outf <<setw(23)<< "My Little Store" << endl
<<setw(4) <<"ID"<<setw(6)<<"Name"<<setw(10)<<"Sold"<<setw(6)<<"Price"<<endl;
printline('-',32,outf);
}
void printtitles2(ofstream &outf)
{
outf <<setw(4)<<"ID"<<setw(6)<<"Name"<<setw(10)<<"Sold"<<setw(6)
<<"Price"<<setw(7)<<"Total$"<<endl;
printline('-',32,outf);
}
void numperrow()
{
cout << "Numperrow Reached" << endl;
}
void readem(int id[], string name[], int usold[], double uprice[], int &nums, int &nump)
{
int i;
ifstream inf;
inf.open("inf.dat");
i=0;
nump=0;
nums = i;
while(!inf.eof())
{
inf >> id[i] >> name[i] >> usold[i] >> uprice[i];
i++;
nump++;
}
}
void calcem(int usold[], double uprice[], double totusales[],
int totusold[], double totuprice[], int &nums)
{
int i;
for(i=0; i<nums; i++)
{
totusales[i] = usold[i] * uprice[i];
totusold[i] = totusold[i] + usold[i] * 1;
totuprice[i] = totuprice[i] + uprice[i] * 1.00;
}
}
void swapem(string &a, string &b)
{
string temp;
temp=a;
a=b;
b=temp;
}
void swapem(double &a, double &b)
{
double temp;
temp=a;
a=b;
b=temp;
}
void swapem(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void sortem( int id[], string name[], int usold[], double uprice[], int &nums)
{
int i, j;
for(j=0; j<nums-1; j++)
for(i=0; i<nums-1; i++)
if(name[i] > name[i+1])
{
swapem(name[i], name[i+1]);
swapem(id[i], id[i+1]);
swapem(usold[i], usold[i+1]);
swapem(uprice[i], uprice[i+1]);
}
}
void printem1(int id[], string name[], int usold[], double uprice[], int &nums, ofstream &outf)
{
int i;
for(i=0; i<nums; i++)
{
outf << "|" << setw(4) << id[i] <<" "<< setw(10) << left << name[i] << setw(4) << right
<< usold[i] << setw(6) << uprice[i] << setw(9) << "|" << endl;
}
printline('-',32,outf);
}
void printem2(int id[], string name[], int usold[], double uprice[], double totusales[],
int totusold[], double totuprice[], int &nums, ofstream &outf)
{
int i;
for(i=0; i<nums; i++)
{
outf << "|" << setw(4) << id[i] <<" "<< setw(10) << left << name[i] << setw(4) << right
<< usold[i] << setw(6) << uprice[i] << setw(7) << totusales[i] << " |" << endl;
}
printline('-',32,outf);
outf << totusold << setw(10) << totuprice << endl;
}
void main()
{
int id[maxs], usold[maxs], totusold[maxs];
int nums, nump;
double uprice[maxs], totusales[maxs], totuprice[maxs];
string name[maxs];
ofstream outf;
outf.open ("outf.out");
outf.setf(ios::fixed);
outf.precision(2);
readem (id, name, usold, uprice, nums, nump);
printtitles1(outf);
printem1(id, name, usold, uprice, nums, outf);
sortem(id, name, usold, uprice, nums);
calcem(usold, uprice, totusales, totusold, totuprice, nums);
printtitles2(outf);
printem2(id, name, usold, uprice, totusales, totusold, totuprice, nums, outf);
numperrow();
cout << nump << endl;
}
|