In the end day report, It is supposed to put how many cans each state has had since the program started running. My program is defaulting to GA/FL no matter what state i put it in. I think it has to do with my code in performsalescalc and PerformCalc. Any help would be appreciated I am a begginner so use easy terminology
Thanks in adavance if (_stricmp (sState,"GA"))Code:
/*-------------------------FUNCTION PROTOTYPES----------------------------------------------------------*/
void GetRoomDimensions(void);
void PerformCalc(void);
void PerformSalesCalc(void); //tc prototype
void PrintOutput(void);
void GetName(void);
void RepeatCode (void);
void LoopQuestion (void);
void DisplayHeader(void);
void Dashes(void);
void SalesDayScreen (void);
void Center (char *s);
void EndReport (void);
void MainMain(void);
/*-----------------------Global Variables--------------------------------------------------------------*/
//input variables
float Flength;
float Fwidth;
float Fheight;
char sCname[25];
char sRepeat;
char sSales='Y';
char sState[3];
//Calculated Data
float Farea; // = wall 1 + wall 2
float Fwall1; // Length * Height *2
float Fwall2; // Width * Height *2
float Fareagallon; // Amount of area a gallon will cover
float Fgallons; // Total Number of gallons it will take to paint
float Fbeforediscount; //before discount
float Fafterdiscount; //After discount
float Ftax; //With Tax
float Fcostper; //Cost per gallon of paint
float Famountoff; //amount off discount
float Ftaxadded; //amount added to cost
float GaCans; // Number of cans sold in Ga
float FlCans; // Number of cans sold in FL
float ScCans; // Number of cans sold in SC
float TnCans; // Number of cans sold in Tn
float AlCans; // Number of cans sold in AL
float OCans; // Number of cans sold in Other States
float GaTotCost; // Total cost of can sold in Ga
float FlTotCost; // Total cost of can sold in FL
float ScTotCost; // Total cost of can sold in SC
float TnTotCost; // Total cost of can sold in TN
float AlTotCost; // Total cost of can sold in AL
float OTotCost; // Total Cost of cans sold in other states
float TotalCans; //Total Number of Cans for every state added up
float TotalCanPrice; //total prices of all cans
/*--------------------Main Module------------------------------------------------------------------*/
int main ()
{
SalesDayScreen();
MainMain();
system("pause");
return 0;
}
/*-----------------------------------------------------------------------------------------------------
Name: SalesDayScreen
Desc: Asks user if it is a sales day
Return: Void
Parameters: Void
---------------------------------------------------------------------------------------------------*/
void SalesDayScreen (void)
{
DisplayHeader();
Center("Acme Paint Shop - Sales Day Question");
Dashes();
cout<<"Is it a sales day (Y/N)?";
cin>>sSales;
cin.ignore();
return;
}
/*-----------------------------------------------------------------------------------------------------
Name: GetName
Desc: Gets Name
Return: Void
Parameters: Void
---------------------------------------------------------------------------------------------------*/
void GetName (void)
{
cout<<"Enter the customer's first and last name?";
cin.getline(sCname, 25);
return;
}
/*-----------------------------------------------------------------------------------------------------
Name: GetRoomDimensions
Desc: Gets Room Dimensions
Return: Void
Parameters: Void
---------------------------------------------------------------------------------------------------*/
void GetRoomDimensions(void)
{
DisplayHeader();
Center("Acme Paint Shop - Input");
Dashes();
GetName();
cout<<endl;
cout<<"What is the length of the room in feet?";
cin>> Flength ;
cout<<endl;
cout<<"What is the width of the room in feet?";
cin>>Fwidth;
cout<<endl;
cout<<"What is the height of the room in feet?";
cin>>Fheight;
cout<<endl;
cout <<"What is the area covered by a gallon of paint?";
cin>>Fareagallon;
cout<<endl;
cout <<"What is the cost of paint per gallon?";
cin >> Fcostper;
cout<<endl;
cout<<endl;
if ((Fcostper >= 1) && (Fcostper <= 50))
{
cout<<"What state are you located?";
cin>>sState;
cout<<endl;
return;
}
else
{
cout <<"Error: Please enter a numeric value between 1 - 50!";
cout<<endl;
cout<<endl;
cout<<"What is the cost of paint per gallon?";
cin >> Fcostper;
cout<<endl;
cout<<"What state are you located?";
cin>>sState;
cout<<endl;
return;
}
return;
}
/*---------------------------------------------------------------------------------------------------------
Name:PerformCalc
Desc:Calculate Area
Return: Void
Parameters:Void
----------------------------------------------------------------------------------------------------------*/
void PerformCalc (void)
{
Fwall1 = (Flength * Fheight)* 2;
Fwall2 = (Fwidth * Fheight) * 2;
Farea = (Fwall1+ Fwall2);
Fgallons = Farea/Fareagallon;
Fbeforediscount = ceil(Fgallons) * Fcostper;
//TAX SECTION
if (_stricmp (sState,"GA"))
{
Ftaxadded = Fbeforediscount * 0.06f;
}
else if (_stricmp (sState,"FL"))
{
Ftaxadded=Fbeforediscount*0.04f;
}
else if (_stricmp (sState,"SC"))
{
Ftaxadded=Fbeforediscount*0.05f;
}
else if (_stricmp (sState,"TN"))
{
Ftaxadded=Fbeforediscount*0.06f;
}
else if (_stricmp (sState,"AL"))
{
Ftaxadded=Fbeforediscount*0.02f;
}
Ftax=Ftaxadded+Fbeforediscount;
//Adding up State Gallons
if (_stricmp (sState,"GA"))
{
GaCans=Fgallons;
}
else if (_stricmp (sState,"FL"))
{
FlCans = Fgallons;
}
else if (_stricmp (sState,"SC"))
{
ScCans=Fgallons;
}
else if (_stricmp (sState,"TN"))
{
TnCans=Fgallons;
}
else if (_stricmp (sState,"AL"))
{
AlCans=Fgallons;
}
//Total Cost Of Paint Per State
if (_stricmp (sState,"GA"))
{
GaTotCost= Ftax;
}
else if (_stricmp (sState,"FL"))
{
FlTotCost=Ftax;
}
else if (_stricmp (sState,"SC"))
{
ScTotCost=Ftax;
}
else if (_stricmp (sState,"TN"))
{
TnTotCost= Ftax;
}
else if (_stricmp (sState,"AL"))
{
AlTotCost=Ftax;
}
return;
}
/*---------------------------------------------------------------------------------------------------------
Name:PerformSalesCalc
Desc:Calculate Area
Return: Void
Parameters:Void
----------------------------------------------------------------------------------------------------------*/
void PerformSalesCalc (void)
{
Fwall1 = (Flength * Fheight)* 2;
Fwall2 = (Fwidth * Fheight) * 2;
Farea = (Fwall1+ Fwall2);
Fgallons = Farea/Fareagallon;
Fbeforediscount = ceil(Fgallons) * Fcostper;
if (Fgallons==1)
{
Famountoff = Fcostper * .05f;
}
else if (Fgallons <=3 && Fgallons >=2)
{
Famountoff = Fcostper * .10f;
}
else if (Fgallons == 4)
{
Famountoff = Fcostper * .15f;
}
else if (Fgallons >=5)
{
Famountoff = Fcostper * .25f;
}
Fafterdiscount=ceil(Fgallons)* (Fcostper-Famountoff);
//State Tax
if (_stricmp (sState,"GA"))
{
Ftaxadded=Fafterdiscount*0.06f;
}
else if (_stricmp (sState,"FL"))
{
Ftaxadded=Fafterdiscount*0.04f;
}
else if (_stricmp (sState,"SC"))
{
Ftaxadded=Fafterdiscount*0.05f;
}
else if (_stricmp (sState,"TN"))
{
Ftaxadded=Fafterdiscount*0.06f;
}
else if (_stricmp(sState,"AL"))
{
Ftaxadded=Fafterdiscount*0.02f;
}
Ftax=(Ftaxadded+Fafterdiscount);
//Adding up State Gallons
if (_stricmp (sState,"GA"))
{
GaCans=Fgallons;
}
else if (_stricmp (sState,"FL"))
{
FlCans=Fgallons;
}
else if (_stricmp (sState,"SC"))
{
ScCans=Fgallons;
}
else if (_stricmp (sState,"TN"))
{
TnCans= Fgallons;
}
else if (_stricmp (sState,"AL"))
{
AlCans=Fgallons;
}
//Total Cost Of Paint Per State
if (_stricmp (sState,"GA"))
{
GaTotCost=Ftax;
}
else if (_stricmp (sState,"FL"))
{
FlTotCost=Ftax;
}
else if (_stricmp (sState,"SC"))
{
ScTotCost= Ftax;
}
else if (_stricmp (sState,"TN"))
{
TnTotCost= Ftax;
}
else if (_stricmp (sState,"AL"))
{
AlTotCost= Ftax;
}
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:PrintOutput
Desc:Display Output on Monitor
Return:Void
Parameter: Void
------------------------------------------------------------------------------------------------------------*/
void PrintOutput (void)
{
DisplayHeader();
Center("Acme Paint Shop - Single Customer Calculation");
Dashes();
cout <<endl;
cout<<"Customer Name (first and last):"<<sCname;
cout<<endl;
cout <<"Number of gallons needed: ";
cout <<ceil(Fgallons);
cout <<endl;
if (sSales=='N')
{
cout<<"Cost before discount $";
cout <<Fbeforediscount;
cout<<endl;
cout <<"Cost after discount $";
cout <<Fbeforediscount;
cout << endl;
cout<<"Cost with Tax $";
cout<<Ftax;
cout<<endl;
}
else {
cout <<"Cost before discount $";
cout <<Fbeforediscount;
cout << endl;
cout<<"Cost after discount $";
cout <<Fafterdiscount;
cout<<endl;
cout<<"Cost with Tax $";
cout<<Ftax;
cout<<endl;
}
return;
}
/*-----------------------------------------------------------------------------------------------------
Name: RepeatCode
Desc: Code Inside Loop
Return: Void
Parameters:
---------------------------------------------------------------------------------------------------*/
void RepeatCode ()
{
DisplayHeader();
Center("Acme Paint Shop - Input");
Dashes();
MainMain();
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:Loop
Desc:Loops Program
Return:Void
Parameter: Void
------------------------------------------------------------------------------------------------------------*/
void LoopQuestion (void)
{
cout<<endl;
cout <<"Do you want to continue (Y/N)?";
cin >>sRepeat;
sRepeat = toupper(sRepeat);
system("cls");
cin.ignore();
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:Display Header
Desc:Display Header
Return:Void
Parameter: Void
------------------------------------------------------------------------------------------------------------*/
void DisplayHeader (void)
{
system("cls");
Dashes();
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:Dashes
Desc:Displays Dashes
Return:Void
Parameter: Void
------------------------------------------------------------------------------------------------------------*/
void Dashes (void)
{
int iCounter=0;
for(iCounter = 0; iCounter <=79; ++iCounter)
cout<< "*";
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:Center
Desc:Centers Text
------------------------------------------------------------------------------------------------------------*/
void Center(char *s)
{
int len;
len = 42+(strlen(s)/2);
cout.width(len);
cout << s << '\n';
}
/*-----------------------------------------------------------------------------------------------------------
Name:EndReport
Desc:Shows End report
Return:Void
Parameter: Void
-----------------------------------------------------------------------------------------------------------*/
void EndReport (void)
{
DisplayHeader();
Center("Acme Paint Shop - End Report");
Dashes();
cout << "State # of Cans Total Cost ";
cout<<endl;
cout << "GA " << setprecision(0) << fixed << GaCans << " $" << GaTotCost
<< endl;
cout << "FL " << setprecision(0) << fixed << FlCans << " $" << FlTotCost
<< endl;
cout << "SC " << setprecision(0) << fixed << ScCans << " $" << ScTotCost
<< endl;
cout << "TN " << setprecision(0) << fixed << TnCans << " $" << TnTotCost
<< endl;
cout << "AL " << setprecision(0) << fixed << AlCans << " $" << AlTotCost
<< endl;
cout << "Other " << setprecision(0) << fixed << OCans << " $" << OTotCost
<< endl;
cout<<"_______________________________________________________________________________";
cout<<endl;
cout<<"Grand Total "<< TotalCans<<" $"<<TotalCanPrice << endl;
cout<<"Customer With highest total after tax:"<< endl;
return;
}
/*-----------------------------------------------------------------------------------------------------------
Name:Main Main
Desc:Holds the Main Portion of the Code
Return:Void
Parameter: Void
------------------------------------------------------------------------------------------------------------*/
void MainMain (void)
{
system("cls");
GetRoomDimensions();
if (sSales=='Y')
{
PerformSalesCalc();
}
PerformCalc();
PrintOutput();
LoopQuestion();
if (sRepeat=='Y')
{
RepeatCode();
}
EndReport();
return;
}

