Last active
August 1, 2018 14:31
-
-
Save Elsayegh/d96be50c394f208598cfa9ff0e845d9b to your computer and use it in GitHub Desktop.
C++ Calculate Profits Using Functions and Switch Statements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /*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