Guest User

Code for GAF.

a guest
Feb 1st, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.36 KB | None | 0 0
  1. #include "std_lib_cmpt125.h"
  2.  
  3. //////////////////////////////////////////////
  4. //
  5. // Global Variables
  6. //
  7. //////////////////////////////////////////////
  8.  
  9. vector<double> numbers;
  10. double sum = 0;
  11. double n1;
  12. double smallest;
  13. double largest;
  14. double x;
  15. const string prompt = "Enter one number: ";
  16. string s1;
  17.  
  18. /////////////////////////////////////////////
  19. //
  20. // Helper Functions
  21. //
  22. /////////////////////////////////////////////
  23.  
  24. double find() {
  25.   if((s1[s1.size()-1] == 'm' && s1[s1.size()-2] != 'c') ||
  26.      (s1[s1.size()-2] == 'm' && s1[s1.size()-3] != 'c')) {
  27.     istringstream iss(s1);
  28.     iss >> x;
  29.     n1 = x;
  30.     return n1;
  31.   } else if(s1[s1.size()-2] == 'c' || s1[s1.size()-3] == 'c') {
  32.     istringstream iss(s1);
  33.     iss >> x;
  34.     n1 = x;
  35.     n1 = (n1/100);
  36.     return n1;
  37.   } else if(s1[s1.size()-1] == 't' || s1[s1.size()-2] == 't') {
  38.     istringstream iss(s1);
  39.     iss >> x;
  40.     n1 = x;
  41.     n1 = (((n1*12)*2.54)/100);
  42.     return n1;
  43.   } else if(s1[s1.size()-1] == 'n' || s1[s1.size()-2] == 'n') {
  44.     istringstream iss(s1);
  45.     iss >> x;
  46.     n1 = x;
  47.     n1 = ((n1*2.54)/100);
  48.     return n1;
  49.   } else{
  50.     error("That unit is not accepted.");
  51.     return 0;
  52.   }
  53. }
  54.  
  55. double find_sum() {
  56.   if(numbers.size() != 0) {
  57.     for(unsigned int i = 0; i < numbers.size(); ++i) {
  58.       sum = sum + numbers[i];
  59.       return sum;
  60.     }
  61.   } else{
  62.     error("You haven't entered any numbers.");
  63.     return 0;
  64.   }
  65. }
  66.  
  67.  
  68.  
  69.  
  70. //////////////////////////////////////////////
  71. //
  72. // Main Function
  73. //
  74. //////////////////////////////////////////////
  75.  
  76. int main() {
  77.   cout << prompt;
  78.   while(cin >> s1) {
  79.     try{
  80.       if(s1 == "|") {
  81.     cout << "The smallest value is: " << smallest << endl;
  82.     cout << "The largest value is: " << largest << endl;
  83.     cout << "The number of values is: " << numbers.size() << endl;
  84.     cout << "The sum of the values is: " << find_sum() << endl;
  85.     return 0;
  86.       } else{
  87.     find();
  88.     numbers.push_back(n1);
  89.     sort(numbers.begin(), numbers.end());
  90.     smallest = numbers[0];
  91.     largest = numbers[numbers.size()-1];
  92.     if(n1 == smallest) {
  93.       cout << n1 << " the smallest so far. \n";
  94.     } else if(n1 == largest){
  95.       cout << n1 << " the largest so far. \n";
  96.     } else{
  97.       cout << n1 << endl;
  98.     }
  99.     cout << prompt;
  100.       } //else
  101.     } catch(runtime_error e) {
  102.       cout << e.what() << endl;
  103.       cout << prompt;
  104.     } //while
  105.   }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment