Skip to content

Instantly share code, notes, and snippets.

@Elsayegh
Last active August 1, 2018 14:31
Show Gist options
  • Select an option

  • Save Elsayegh/d96be50c394f208598cfa9ff0e845d9b to your computer and use it in GitHub Desktop.

Select an option

Save Elsayegh/d96be50c394f208598cfa9ff0e845d9b to your computer and use it in GitHub Desktop.
C++ Calculate Profits Using Functions and Switch Statements
/*Write a program that determines which of a company's four division (NE, SE, NW, SW) had the greatest sales for a quarter.
It should include the following two functions, which are called by Main:
- double getSales() is passed the name of a division. It asks the user for a division's quarterly sales figure, validates the input,
then returns it. It should be called once for each division.
- void findHighest() is passed the four sales totals.
It determines which is the largest and prints the name if the high with its sale figure.
Input Validation: Do not accept dollar amounts less than $0.00
*/
#include <iostream>
#include <conio.h>
#include <ctime>
#include <iomanip>
#include <cstdlib>
#include <fstream>
#include <string>
using namespace std;
//double getSales(string);
//void findHighest(double, double, double, double, double);
double getSale(string name) {
double sales = 0;
cout << "Please Enter the sale for division: " << name << " $";
cin >> sales;
while (sales < 0) {
cout << "Sales can't be in a negative number, please re-enter: $";
cin >> sales;
}
return sales;
}
void findHighest(double NEsales, double SEsales, double NWsales, double SWsales) {
double highest = 0;
string division = "";
if (NEsales > SEsales && NEsales > NWsales && NEsales > SWsales) {
highest = NEsales;
division = "North East";
}
else if (SEsales > NEsales && SEsales > NWsales && SEsales > SWsales) {
highest = SEsales;
division = "South East";
}
else if (NWsales > NEsales && NWsales > SEsales && NWsales > SWsales) {
highest = NWsales;
division = "North West";
}
else {
highest = SWsales;
division = "South West";
}
cout << "The division with the highest sales is: " << division << " With total sales of " << highest;
}
int main() {
double NEsales, SEsales, NWsales, SWsales;
for (int i = 0; i < 4; i++) {
switch (i)
{
case 0:
NEsales = getSale("NE");
break;
case 1:
SEsales = getSale("SE");
break;
case 2:
NEsales = getSale("NW");
break;
case 3:
SWsales = getSale("SW");
break;
}
}
findHighest(NEsales, SEsales, NWsales, SWsales);
_getch();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment