Дата, време и универсално време

Да се създаде йерархия от следните класове:

  1. Дата, съдържащ полета ден, месец, година и методи за въвеждане и извеждане на информацията.
  2. Време, съдържащ освен това полета за часа и минутите.
  3. Универсално време, съдържащ в допълнение информация за часовата зона. Да има и метод за извеждане на времето по Гринуич
Публикувано в 12а с етикети . Постоянна връзка.

10 Responses to Дата, време и универсално време

  1. kr1stiqn1995 каза:

    #include
    #include

    using namespace std;

    class Data
    {
    public:
    int den, mesec, godina;
    Data();
    Data(int d, int m, int g);
    Data(const Data &d);
    void Vhod();
    void Pechat(char format) const;
    };

    Data::Data()
    {
    den=mesec=godina=1;
    }

    Data::Data (const Data &d)
    {
    den=d.den;
    mesec=d.mesec;
    godina=d.godina;
    }

    Data::Data(int d, int m, int g)
    {
    den=d;
    mesec=m;
    godina=g;
    }
    void Data::Vhod()
    {
    cout<>den>>mesec>>godina;
    }

    void Data::Pechat(char format) const
    {
    switch(format)
    {
    case(‘a’): cout<<mesec<<'/'<<den<<'/'<<godina; break;
    case('e'): cout<<den<<'.'<<mesec<<'.'<<godina; break;
    default: cout<<"Newaliden izbor\n";
    };
    }

    class Time: public Data
    {
    public:
    int chas;
    int minuti;
    int secundi;
    Time();
    Time(int ch, int m, int s);
    Time(const Time &ch);
    void Vhod();
    void Pechat(char format) const;

    };

    Time::Time()
    {
    chas=minuti=secundi=0;
    }

    Time::Time (const Time &ch)
    {
    chas=ch.chas;
    minuti=ch.minuti;
    secundi=ch.secundi;
    }

    Time::Time (int ch, int m, int s)
    {
    chas=ch;
    minuti=m;
    secundi=s;
    }

    void Time ::Vhod()
    {
    cout<>chas>>minuti>>secundi;
    }

    void Time::Pechat(char format) const
    {
    if(format==’a’)
    if(chas<12) cout<<chas<<":"<<minuti<<" am"<<endl;
    else cout<<chas-12<<":"<<minuti<<" pm"<<endl;
    else cout<<chas<<":"<<minuti<<endl;
    }

    int main(int argc, char *argv[]) {

    Data q;
    q.Vhod();
    q.Pechat('a');
    cout<<endl;

    Time b;
    b.Vhod();
    b.Pechat('a');
    cout<<endl;

    system("pause");
    return 0;
    }

  2. krisizdravi95 каза:
    
    
    
    class Date
    {
    public:
        int den, mesec, godina;
        Date();
        Date(int d, int m, int g);
        Date(const Date &d);
        void Vhod();
        void Izvejdane(char format) const;
     
    };
     
    Date::Date()
    {
       den=mesec=godina=1;
    }
     
    Date::Date (const Date &d)
    {
        den=d.den;
        mesec=d.mesec;
        godina=d.godina;
    }
     
    Date::Date(int d, int m, int g)
    {
        den=d;
        mesec=m;
        godina=g;
    }
     
    void Date::Vhod()
    {
        cout<<"Vuvedete den, mesec, godina: ";
        cin>>den>>mesec>>godina;
    }
    
    
    
    
     
    void Date::Izvejdane(char format) const
    {
        switch(format)
        {
        case('a'): cout<<mesec<<'/'<<den<<'/'<<godina; break;
        case('e'): cout<<den<<'.'<<mesec<<'.'<<godina; break;
        default: cout<<"Nevaliden izbor\n";
        };
    }
    
    class Time:public Date 
    { public:
        int chas;
        int minuti;
        void Vhod();
        void Izvejdane(char format) const;
        
        };
        
        void Time::Vhod()
        {
            cout<<"Vuvedete chas i minuti:";
            cin>>chas>>minuti;
        }
        
        
        void Time::Izvejdane(char format) const
    {
        if(format=='a')
         if(chas<12) cout<<chas<<":"<<minuti<<" am"<<endl;
         else cout<<chas-12<<":"<<minuti<<" pm"<<endl;
         else cout<<chas<<":"<<minuti<<endl;
       }
    
    
    
    
    int main(int argc, char *argv[])
    {
        char simvol;
        
        Date Dnes;
        Dnes.Vhod();
        cout<<"Kakuv format? (a za amerikanski i e za evropeiski)"<<endl;
        cin>>simvol;
        Dnes.Izvejdane(simvol);
        cout<<endl;
        Time sega;
        sega.Vhod();
        sega.Izvejdane('a'); 
    
    
  3. marant каза:
    #include <iostream>
    #include <windows.h>
      
    using namespace std;
      
     
    class Data {
    public:
      int den, mesec, godina;
      void vhod();
      void pechat() const;
    };
      
    void Data::vhod()
    {
      cout<<"Vavedete den, mesec i godina:";
      cin>>den>>mesec>>godina;
    }
      
    void Data::pechat() const
    {
      cout<<"Datata e : "<<den<<"."<<mesec<<"."<<godina<<endl;
    }
      
     
    class vreme: public Data
    {
    public:
      int h, m;
      void vhod();
      void pechat() const;
    };
      
    void vreme::vhod()
    {
      Data::vhod();
      cout<<"vavedete chas i minuti: ";
      cin>>h>>m;
     
    }
     void vreme::pechat() const
     {
          Data::pechat();
          cout<<"4asut e : "<<h<<":"<<m<<endl;
      }
       
    class univreme: public vreme
    {
      public:
      int u;
      void vhod();
      int gn() const;
      void pechat() const;
    };
       void univreme::vhod()
      {
           vreme::vhod();
           cout<<"V koq 4asova zona jivee6: ";
           cin>>u;
      }
           int univreme::gn() const
    {
            return h-u;
    }
     
      
      void univreme::pechat() const
      {
           vreme::pechat();
           cout<<"Universalnoto vreme e: "<<gn()<<":"<<m<<endl;
      }
      
    int main(int argc, char *argv[]) {
         
      univreme d; 
      d.vhod();
      d.pechat();
      cout<<endl;
        
      system("pause");
      return 0;
    }
    
  4. kr1stiqn1995 каза:
    #include <iostream>
    #include <windows.h>
     
    using namespace std;
     
    class Data
    {
    public:
        int den, mesec, godina;
        Data();
        Data(int d, int m, int g);
        Data(const Data &d);
        void Vhod();
        void Pechat(char format) const;
    };    
    
    Data::Data()
    {
       den=mesec=godina=1;
    }
     
    Data::Data (const Data &d)
    {
        den=d.den;
        mesec=d.mesec;
        godina=d.godina;
    }
     
    Data::Data(int d, int m, int g)
    {
        den=d;
        mesec=m;
        godina=g;
    } 
    void Data::Vhod()
    {
      cout<<"Vavedete den,mesec i godina: ";
      cin>>den>>mesec>>godina;
    }
     
    void Data::Pechat(char format) const
    {
        switch(format)
        {
        case('a'): cout<<mesec<<'/'<<den<<'/'<<godina; break;
        case('e'): cout<<den<<'.'<<mesec<<'.'<<godina; break;
        default: cout<<"Newaliden izbor\n";
        };
    }
    
    class Time: public Data
    {
     public:
            int chas;
            int minuti;
            int secundi;
            Time();
            Time(int ch, int m, int s);
        Time(const Time &ch);
        void Vhod();
        void Pechat(char format) const;
       
    };
     
    Time::Time()
    {
       chas=minuti=secundi=0;
    }
     
    Time::Time (const Time &ch)
    {
        chas=ch.chas;  
        minuti=ch.minuti;
        secundi=ch.secundi;
    }
     
    Time::Time (int ch, int m, int s)
    {
        chas=ch;
        minuti=m;
        secundi=s;
    }
     
    void Time ::Vhod()
    {
        Data::Vhod();
        cout<<"Wuwedete chas, minuti, secundi: ";
        cin>>chas>>minuti>>secundi;
    }
      
      
     void Time::Pechat(char format) const
    {
        Data::Pechat(format);
        cout<<" ";
        if(format=='a')
         if(chas<12) cout<<chas<<":"<<minuti<<" am"<<endl;
         else cout<<chas-12<<":"<<minuti<<" pm"<<endl;
         else cout<<chas<<":"<<minuti<<endl;
       }
    
    int main(int argc, char *argv[]) {
      
      Data q;
      q.Vhod();
      q.Pechat('a');
      cout<<endl;
     
      Time b;
      b.Vhod();
      b.Pechat('a');
      cout<<endl;
     
     
      system("pause");
      return 0;
    }
    

    .. с няколко корекции

  5. dreanor каза:
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    //
    class Data
    {
    public:
        int den, mesec, godina;
        Data();
        Data(int d, int m, int g);
        Data(const Data &d);
        void Vhod();
        void Izwejdane(char format) const;
        bool NachaloMesec() const;
        int Sezon() const;
        bool Suwpadenie(int d, int m, int g) const;
        bool Suwpadenie(const Data &d) const;
        int DniMesec() const;
        bool PosledenDen() const;
        void SledwashtDen();
        void PredishenDen();
        bool ValidnaData() const;
     
    };
    
     class Vreme:public Data
    {
      public:
        int chas, minuta;
        Vreme();
        Vreme(int d, int m, int g, int chas, int minuta);
        Vreme(const Vreme &v);
        void Vhod();
        void Izwejdane();
    };
    
    class Utc:public Vreme
    {
      public:
         int chas_zona;
         Utc();
         Utc(const Utc &utc);
         void Vhod();
         void Izwejdane();
         void Greenwich();
    };
    
    Utc::Utc()
    {
      Vreme::Vreme();
      chas_zona=0;
    }
    
    Utc::Utc(const Utc &utc)
    {
      den=utc.den;
      mesec=utc.mesec;
      godina=utc.godina;
      chas=utc.chas;
      minuta=utc.minuta;
      chas_zona=utc.chas_zona;
    }
    
    void Utc::Greenwich()
    {
      cout<<"Wremeto po Grinuich: "<<chas - chas_zona<<": "<<minuta<<endl;
    }
    
    void Utc::Vhod()
    {
      Vreme::Vhod();
      cout<<"Wuwedi chasowa zona (+/- 12)";
      cin>>chas_zona;
    }
    
    void Utc::Izwejdane()
    {
      Vreme::Izwejdane();
      cout<<"Chasowata zona e: "<<chas_zona<<endl;
    }
    
    Vreme::Vreme()
    {
      Data::Data();
      chas=minuta=0;
    }
    
    Vreme::Vreme(int d, int m, int g, int chas, int minuta)
    {
      Data::Data(d, m, g);
      this->chas=chas;
      this->minuta=minuta; 
    }
    
    Vreme::Vreme(const Vreme &v)
    {
      den=v.den;
      mesec=v.mesec;
      godina=v.godina;
      chas=v.chas;
      minuta=v.minuta;
    }
    
    void Vreme::Vhod()
    {
      Data::Vhod();
      cout<<"Wuwedi chas i minuti (hh mm): ";
      cin>>chas>>minuta; 
    }
    
    void Vreme::Izwejdane()
    {
      cout<<"Datata e: "<<den<<'.'<<mesec<<'.'<<godina<<endl;
      cout<<"Chasut e: "<<chas<<": "<<minuta<<endl; 
    }
    
      
    Data::Data()
    {
       den=mesec=godina=1;
    }
     
    Data::Data (const Data &d)
    {
        den=d.den;
        mesec=d.mesec;
        godina=d.godina;
    }
     
    Data::Data(int d, int m, int g)
    {
        den=d;
        mesec=m;
        godina=g;
    }
     
    void Data::Vhod()
    {
        cout<<"Wuwedete den, mesec, godina: ";
        cin>>den>>mesec>>godina;
    }
     
    void Data::Izwejdane(char format) const
    {
        switch(format)
        {
        case('a'): cout<<mesec<<'/'<<den<<'/'<<godina; break;
        case('e'): cout<<den<<'.'<<mesec<<'.'<<godina; break;
        default: cout<<"Newaliden izbor\n";
        };
    }
     
    bool Data::NachaloMesec() const
    {
        return den==1;
    }
     
    int Data::Sezon() const
    {
        switch (mesec)
        {
        //????
        case(12):
        case(1):
        case(2): return 4;
     
        //??????
        case(3):
        case(4):
        case(5): return 1;
     
        //????
        case(6):
        case(7):
        case(8): return 2;
     
        //????
        case(9):
        case(10):
        case(11): return 3;
     
        default: return 0;
        }
    }
     
    bool Data::Suwpadenie(int d, int m, int g) const
    {
        return ((den==d) && (mesec==m) && (godina==g));
    }
     
    bool Data::Suwpadenie(const Data &d) const
    {
        return ((den==d.den) && (mesec==d.mesec) && (godina==d.godina));
    }
     
     
    int Data::DniMesec() const
    {
        if(mesec == 1 || mesec == 3 || mesec == 5 || mesec == 7 || mesec == 8 || mesec == 10 || mesec == 12)
            return 31;
        else if(mesec == 4 || mesec == 6 || mesec == 9 || mesec == 11)
            return 30;
        else
        {
            if(godina % 4 == 0)
            {
                if(godina % 100 == 0)
                {
                    if(godina % 400 == 0)
                        return 29;
                    return 28;
                }
                return 29;
            }
            return 28;
        }
    }
     
    bool Data::PosledenDen() const
    {
        return den==DniMesec();
    }
     
    void Data::SledwashtDen()
    {
        if(ValidnaData())
        {
            if (den<DniMesec())
                den++;
            else
            {
                den=1;
                if(mesec<12)
                    mesec++;
                else
                {
                    mesec=1;
                    godina++;
                }
            }
        }
    }
     
    void Data::PredishenDen()
    {
        if(ValidnaData())
        {
            if(den>1)
                den--;
            else
            {
                if(mesec>1)
                {
                    mesec--;
                    den=DniMesec();
                }
                else
                {
                    mesec=12;
                    godina--;
                    den=31;
                }
            }
        }
    }
     
    bool Data::ValidnaData() const
    {
        if ((mesec>=1)&&(mesec<=12)&&(godina>0))
        {
            if ((den>=1)&&(den<=DniMesec()))
                    return true;
            else return false;
        }
        else return false;
    }
     
     
     
     
    int main(int argc, char *argv[])
    {
        cout<<"Klas Data: \n";
        Data dnes;
        dnes.Vhod();
        dnes.Izwejdane('e')<<endl;
        
        cout<<"Klas Vreme: \n";
        cout<<"Suzdawane na now obekt vreme i wuwejdane na danni ot klaviaturata: \n";
        Vreme* VremePtr= new Vreme();
        VremePtr->Vhod();
        VremePtr->Izwejdane();
        
        cout<<"Klas Utc: \n";
        Utc zona;
        zona.Vhod();
        zona.Greenwich();
     
     
        delete VremePtr;
        system("PAUSE");
        return 0;
    }
    
  6. krisizdravi95 каза:
    using namespace std;
    class Date
    {
    public:
        int den, mesec, godina;
        Date();
        Date(int d, int m, int g);
        Date(const Date &d);
        void Vhod();
        void Izvejdane(char format) const;
      
    };
      
    Date::Date()
    {
       den=mesec=godina=1;
    }
      
    Date::Date (const Date &d)
    {
        den=d.den;
        mesec=d.mesec;
        godina=d.godina;
    }
      
    Date::Date(int d, int m, int g)
    {
        den=d;
        mesec=m;
        godina=g;
    }
      
    void Date::Vhod()
    {
        cout<<"Vuvedete den, mesec, godina: ";
        cin>>den>>mesec>>godina;
    }
     
     
     
     
      
    void Date::Izvejdane(char format) const
    {
        switch(format)
        {
        case('a'): cout<<mesec<<'/'<<den<<'/'<<godina<<endl; break;
        case('e'): cout<<den<<'.'<<mesec<<'.'<<godina<<endl; break;
        default: cout<<"Nevaliden izbor\n";
        };
    }
     
    class Time:public Date
    { public:
        
        int chas;
        int minuti;
        int chasovazona;
        void Vhod();
        void Izvejdane(char format) const;
        void Universalnovreme();
        };
         
        void Time::Vhod()
        {
            Date::Vhod();
            cout<<"Vuvedete chas i minuti:";
            cin>>chas>>minuti;
        }
         
         
        void Time::Izvejdane(char format) const
    {
         Date::Izvejdane(format);
        if(format=='a')
         if(chas<12) cout<<chas<<":"<<minuti<<" am"<<endl;
         else cout<<chas-12<<":"<<minuti<<" pm"<<endl;
         else cout<<chas<<":"<<minuti<<endl;
       }
       
    void Time::Universalnovreme()
    {
        cout<<"Vuvedete chasova zona (+/- 1-12) ";
        cin>>chasovazona;
        cout<<"Universalno vreme:"<<chas-chasovazona<<":"<<minuti<<endl;
        }
    
     
    int main(int argc, char *argv[])
    {
        char simvol;
        Date Dnes;
        Dnes.Vhod();
        cout<<"Kakuv format? (a za amerikanski i e za evropeiski)"<<endl;
        cin>>simvol;
        Dnes.Izvejdane(simvol);
        cout<<endl;
        Time sega;
        sega.Vhod();
        sega.Izvejdane('a'); 
        sega.Universalnovreme();
    
  7. Iceman каза:
    #include <iostream>
    #include <windows.h>
     
    using namespace std;
     
    
     
    
    class Data 
    {
    public:
      int d,m,g ;
      void vhod();
      void pechat() const;
    };
     
    void Data::vhod()
    {
      cout<<"Vavedete d,m i g:";
      cin>>d>>m>>g;
    }
     
    void Data::pechat() const
    {
      cout<<"Datata e "<<d<<"."<<m<<"."<<g<<"\n";
    }
     
    
    class Vreme: public Data
    {
    public:
      int chas;
      int minuti;
      void vhod();
      void pechat() const;
    };
     
    void Vreme::vhod()
    {
      Data::vhod();
      cout<<"vavedete chas:";
      cin>>chas;
      cout<<"vavedete minuti:";
      cin>>minuti;
      
    }
     
    void Vreme::pechat() const
    {
      cout<<"Datata e\n";
      Data::pechat();
      cout<<"i vremeto e  "<<chas<<":"<<minuti<<endl;
      
    }
     class univreme: public Vreme
    {
      public:
      int u;
      void vhod();
      int gn() const;
      void pechat() const;
    };
       void univreme::vhod()
      {
           Vreme::vhod();
           cout<<"chasovata zona e: ";
           cin>>u;
      }
           int univreme::gn() const
    {
            return chas-(u);
    }
      
       
      void univreme::pechat() const
      {
           Vreme::pechat();
           cout<<"Universalnoto vreme e: "<<gn()<<":"<<minuti<<endl;
      }
      
     int main(int argc, char *argv[])
    { 
        cout<< "Danni za data:\n";
        Data Dnes;
        Dnes.vhod();
        Dnes. pechat();
        cout<< "Danni za vreme:\n";
        Vreme Sega;
        Sega.vhod();
        Sega.pechat();
        cout<< "Danni za univreme:\n";
        univreme Now;
        Now.vhod();
        Now.pechat();
      
        
     system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    
      
      
    
     

Вашият коментар