ostapdontstop

her

Jan 16th, 2019
169
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <windows.h>
  2. #include <iostream>
  3. #include <vector>
  4. #include <string>
  5. #include <fstream>
  6. using namespace std;
  7.  
  8. class Chemical
  9. {
  10.     private:
  11.     string nam;
  12.     string ob;
  13.     int num;
  14.     double wt;
  15.    
  16.     public:
  17.         Chemical(string nm, string o, int nu, double w)
  18.         {
  19.             nam=nm;
  20.             ob=o;
  21.             num=nu;
  22.             wt=w;
  23.         }
  24.         Chemical()
  25.         {
  26.             num=0;
  27.             wt=0;          
  28.         }
  29.        
  30.         string name()
  31.         const
  32.         {
  33.             return nam;
  34.         }
  35.        
  36.         string obozn()
  37.         const
  38.         {
  39.             return ob;
  40.         }
  41.        
  42.         int number()
  43.         const
  44.         {
  45.             return num;
  46.         }
  47.        
  48.         double weight()
  49.         const
  50.         {
  51.             return wt;
  52.         }
  53.        
  54.         bool operator<(const Chemical &a)const;
  55.  
  56. };
  57.  
  58. ostream& operator<<(ostream& out, const Chemical &a)
  59. {
  60.     out << "Химический элемент-" << "("<<a.name() <<")" << endl<< "    Химическое обозначение=" << "(" <<a.obozn() <<")"
  61.     << endl << "        Порядковый номер=" << "("<<a.number() <<")" << endl <<"          Атомный вес=" << "("<<a.weight()<<")" << endl;
  62.     return out;
  63. }
  64. bool Chemical::operator<(const Chemical &a)const
  65. {
  66.     if (a.weight()<wt) return true;
  67.  
  68.     else return false;
  69. }
  70.  
  71. main()
  72. {
  73.     SetConsoleCP(1251);
  74.     SetConsoleOutputCP(1251);
  75.     ifstream prost("Chemical.txt");
  76.     if (!prost)
  77.     {
  78.         cout << "File not found";
  79.         return 1;
  80.     }
  81.    
  82.     vector <Chemical> a;
  83.     string f, b;
  84.     int c;
  85.     double d;
  86.     for (f,b,c,d; prost>>f>>b>>c>>d;)
  87.     a.push_back(Chemical(f,b,c,d));
  88.    
  89.     if (!prost.eof())
  90.     {
  91.         cout <<"Something wrong!";
  92.         return 1;
  93.     }  
  94.    
  95.     for(int i=0; i<a.size(); i++)
  96.     cout<<a[i];
  97.    
  98.     Chemical e("Magnii","Mg",12,24.305);
  99.     if(a[0]<e)
  100.     cout << "Масса первого больше! Но химия зло!"<< endl;
  101.     else
  102.     cout << "Масса второго меньше! Но химия зло!"<< endl;
  103.    
  104. }
RAW Paste Data