#include <iostream>
#include <iomanip>
using namespace std;
#include "Orders.h"
CleaningOrder::CleaningOrder()
: NumberOfShirts(0), NumberOfPants(0),
NumberOfOtherItems(0), PriceShirt(0.95),
PricePants(1.75)
{
}
CleaningOrder::CleaningOrder(int Shirts, int Pants, int Others)
: NumberOfShirts(Shirts), NumberOfPants(Pants),
NumberOfOtherItems(Others), PriceShirt(0.95),
PricePants(1.75)
{
}
CleaningOrder::~CleaningOrder()
{
}
void CleaningOrder::setNumberOfShirts(const int n)
{
NumberOfShirts = (n <= 0 ) ? 0 : n;
}
int CleaningOrder::getNumberOfShirts() const
{
return (NumberOfShirts <= 0 ? 0.00 : NumberOfShirts);
}
void CleaningOrder::setNumberOfPants(const int n)
{
NumberOfPants = (n <= 0) ? 0 : n;
}
int CleaningOrder::getNumberOfPants() const
{
return (NumberOfPants <= 0 ? 0.00 : NumberOfPants);
}
void CleaningOrder::setNumberOfOtherItems(const int n)
{
NumberOfOtherItems = (n <= 0 ? 0 : n);
}
int CleaningOrder::getNumberOfOtherItems() const
{
return (NumberOfOtherItems <= 0 ? 0.00 : NumberOfOtherItems);
}
double CleaningOrder::CalcPriceShirts() const
{
return NumberOfShirts * PriceShirt;
}
double CleaningOrder::CalcPricePants() const
{
return NumberOfPants * PricePants;
}
void CleaningOrder::CalcPriceOtherItems(int n)
{
if( n > 0 )
{
double Sum = 0, P;
cout << "\nEnter the price for each misc item\n";
for(int i = 0; i < n; ++i)
{
cout << "Price for item " << i + 1 << ": $";
cin >> P;
Sum += P;
}
TotalOtherItems = Sum;
}
else
TotalOtherItems = 0.00;
}
double CleaningOrder::CalcTotalOrder() const
{
return CalcPriceShirts() + CalcPricePants() + TotalOtherItems;
}
void CleaningOrder::ProcessOrder()
{
cout << "\nOrder Processing";
cout << "\nPlease provide the order date\n";
cout << "Enter Month: "; cin >> OrderDate.Month;
cout << "Enter Day: "; cin >> OrderDate.Day;
cout << "Enter Year: "; cin >> OrderDate.Year;
cout << "\nHow many shirts? ";
cin >> NumberOfShirts;
cout << "How many Pants? ";
cin >> NumberOfPants;
cout << "How many other items? ";
cin >> NumberOfOtherItems;
CalcPriceOtherItems(NumberOfOtherItems);
PriceShirt = 0.95;
PricePants = 1.75;
}
void CleaningOrder::DisplayReceipt() const
{
cout << setiosflags(ios::fixed) << setprecision(2);
cout << "\n\nCleaning Receipt";
cout << "\nOrder Date: "
<< OrderDate.Month << "/" << OrderDate.Day
<< "/" << OrderDate.Year;
cout << "\n======================================="
<< "\nGeorgetown Cleaning Services - Receipt"
<< "\n---------------------------------------"
<< "\nQty\tItem\tUnit\tSub-Total"
<< "\n" << getNumberOfShirts() << "\tShirts\t$"
<< getPriceShirt() << "\t$" << CalcPriceShirts()
<< "\n" << getNumberOfPants() << "\tPants\t$"
<< getPricePants() << "\t$" << CalcPricePants()
<< "\n" << getNumberOfOtherItems() << "\tOthers\t"
<< "Vary\t$" << TotalOtherItems
<< "\n---------------------------------------"
<< "\nTotal Order: $" << CalcTotalOrder()
<< "\n======================================";
}
|