Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <algorithm>
  4. #include <cstdlib>
  5. #include <vector>
  6. void print(std::vector <double> const &a)
  7. {
  8.    std::cout << "The vector elements are : ";
  9.  
  10.    for(size_t i=0; i < a.size(); i++)
  11.       std::cout << a.at(i) << ' ';
  12. }
  13. std::string user_input()
  14. {
  15.     std::string x="";
  16.     std::cin >> x;
  17.     return x;
  18. }
  19.  
  20.  
  21. int tutorial()
  22. {
  23.     std::vector<double> numbers;
  24.     const double meter=1;
  25.     const double inch=0.0254;
  26.     const double centimeter=0.01;
  27.     const double feet=0.3048;
  28.     double number=0;
  29.     std::string raw_number="";
  30.     while(true)
  31.     {
  32.         number=0;
  33.         std::cout << "Please enter a length and it's unit, like 12cm. Accepted units are m, cm, in, ft.\n";
  34.         raw_number=user_input();
  35.         if (raw_number=="|")
  36.         {
  37.             break;
  38.         }
  39.         if (raw_number.find("cm")!=std::string::npos)
  40.         {
  41.             number=std::stod(raw_number)*centimeter;
  42.         }
  43.         else if(raw_number.find("m")!=std::string::npos)
  44.         {
  45.             number=std::stod(raw_number)*meter;
  46.         }
  47.         else if(raw_number.find("in")!=std::string::npos)
  48.         {
  49.             number=std::stod(raw_number)*inch;
  50.         }
  51.         else if(raw_number.find("ft")!=std::string::npos)
  52.         {
  53.             number=std::stod(raw_number)*feet;
  54.         }
  55.         else
  56.         {
  57.             std::cout << "Accepted units are m,cm,in and ft, enter it like \"12cm\"\n";
  58.         }
  59.         numbers.push_back(number);
  60.     }
  61.     sort(numbers.begin(), numbers.end());
  62.     print(numbers);
  63.     return 0;
  64. }
  65. int main()
  66. {
  67.     tutorial();
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement