fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <iomanip>
  4. #include <cmath>
  5. using namespace std;
  6.  
  7. int main () {
  8.  
  9. int numberOfPackages;
  10. int totalPhoneUsage;
  11.  
  12. // Fees, Minutes Provided, rate for additonal minutes for all Packages
  13. const float MONTHLYFEEA = 39.99;
  14. const int MINSPROVIDEDA = 450;
  15. const float RATEFORADDMINSA = 0.45;
  16.  
  17. const float MONTHLYFEEB = 59.99;
  18. const int MINSPROVIDEDB = 900;
  19. const float RATEFORADDMINSB = 0.40;
  20.  
  21. const float MONTHLYFEEC = 69.99;
  22.  
  23. float totalOver;
  24. float totalA, totalB , totalC;
  25. float totalDueA, totalDueB;
  26.  
  27.  
  28.  
  29. cout << "Select a subcription package: \n"
  30. <<"1. Package A\n"
  31. <<"2. Package B\n"
  32. <<"3. Package C\n"
  33. <<"4. Quit\n";
  34.  
  35.  
  36.  
  37.  
  38. // User inputs which packaged theyed like
  39.  
  40. cin >> numberOfPackages;
  41. switch (numberOfPackages){
  42.  
  43. case 1:{
  44.  
  45. cout << "You selected Package A\n";
  46.  
  47. break;
  48. }
  49.  
  50. case 2:{
  51.  
  52. cout << "You selected Package B\n";
  53. break;
  54. }
  55. case 3:{
  56.  
  57. cout << "You selected Package C\n";
  58. break;
  59. }
  60. case 4: {
  61.  
  62. cout << "You selected Quit\n";
  63. break;
  64. return 0;
  65. }
  66. default: {
  67. cout <<"Invalid choice.Run program again and select a number 1-4\n";
  68. break;
  69. return 0;
  70. }
  71. }
  72.  
  73. //Asking user for input on total phone usage in minutes
  74.  
  75.  
  76. cout << "How many minutes were used?: ";
  77. cin >> totalPhoneUsage;
  78.  
  79.  
  80. cout << fixed << setprecision(2);
  81.  
  82. /*
  83. This part calculates and displays the total due
  84. */
  85.  
  86. //Package A
  87. if (numberOfPackages == 1){
  88. if (totalPhoneUsage <= MINSPROVIDEDA){
  89. cout << "The total amount due is $ "<< MONTHLYFEEA;
  90. }
  91.  
  92. else if (totalPhoneUsage > MINSPROVIDEDA) {
  93. float totalOver = (totalPhoneUsage - MINSPROVIDEDA) * RATEFORADDMINSA;
  94. float totalDueA = MONTHLYFEEA + totalOver;
  95. cout << "The total amount due is:$ " << totalDueA << endl;
  96. }
  97. }
  98.  
  99. //Package B
  100. else if (numberOfPackages == 2){
  101. if (totalPhoneUsage <= MINSPROVIDEDB) {
  102. cout << "The total amount due is $ "<< MONTHLYFEEB; }
  103.  
  104. else if (totalPhoneUsage > MINSPROVIDEDB){
  105. totalOver = (totalPhoneUsage - MINSPROVIDEDB) * RATEFORADDMINSB;
  106. totalDueB = MONTHLYFEEB + totalOver;
  107. cout << "The total amount due is:$ " << totalDueB << endl;
  108. }
  109. }
  110.  
  111. //Package C which has not extra charge )
  112. else if (numberOfPackages == 3) {
  113. cout << "The total amount due is $ " << MONTHLYFEEC << endl;
  114. }
  115.  
  116.  
  117.  
  118.  
  119.  
  120. // savings
  121.  
  122.  
  123.  
  124.  
  125. /*
  126. Calculates total cost for all packages
  127. in order to check for potential savings
  128.  
  129. */
  130. //Package A
  131.  
  132. if (totalPhoneUsage <= MINSPROVIDEDA) {
  133. totalA = MONTHLYFEEA;
  134. }
  135. else {
  136. totalA = MONTHLYFEEA + (totalPhoneUsage - MINSPROVIDEDA) * RATEFORADDMINSA;
  137. }
  138.  
  139. // Package B
  140.  
  141. if(totalPhoneUsage <= MINSPROVIDEDB) {
  142. totalB = MONTHLYFEEB;
  143. }
  144. else {
  145. totalB = MONTHLYFEEB + (totalPhoneUsage - MINSPROVIDEDB) * RATEFORADDMINSB;
  146. }
  147.  
  148. totalC = MONTHLYFEEC;
  149.  
  150.  
  151.  
  152. // displaying savings
  153.  
  154. if ( numberOfPackages == 1){
  155. if (totalA > totalB) {
  156. cout << "You would save $ "<< totalA - totalB << " with package B\n";
  157. }
  158. if (totalA > totalC) {
  159. cout << "You would save $ " << totalA - totalC << " with package C.\n";
  160. }
  161. }
  162.  
  163. else if (numberOfPackages == 2) {
  164.  
  165. if (totalB > totalC) {
  166. cout << "You would save $ "<< totalB - totalC << " with package C.\n";
  167. }
  168.  
  169. }
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178. return 0;
  179. }
  180.  
Success #stdin #stdout 0.01s 5300KB
stdin
Standard input is empty
stdout
Select a subcription package: 
1. Package A
2. Package B
3. Package C
4. Quit
Invalid choice.Run program again and select a number 1-4
How many minutes were used?: