Процедури за дати

Да се напише програма, съдържаща и демонстрираща процедури за:

  1. връщане на датата на създаване на програмата (като параметри ден, месец и година)
  2. отпечатване на дата, при подадени като параметър ден, месец и година
  3. отпечатване на дата, като месеца е с думи (например „31 mai 2013“)
  4. преминаване  в следваща година, при подаден параметър текуща година
  5. преминаване в следващ месец, при подадени като параметри месец и година
  6. връщане на брой седмици от началото на годината (грубо пресметнати, при всеки месец от 30 дни)
  7. По желание: преминаване в следващ ден, при подаден като параметри ден, месец и година
Публикувано в 11в с етикети . Постоянна връзка.

One Response to Процедури за дати

  1. Данаил каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    // печат на дата
    void pechat(int den, int mesec, int godina) {
      cout<<den<<'.'<<mesec<<'.'<<godina<<endl;
    }
     
    // връща текуща дата
    void dnes(int &den, int &mesec, int &godina) {
      den=29;
      mesec=5;
      godina=2014;
    }
    
    // връща сл.година
    int sl_godina(int godina) {
      return godina+1;
    }
    
    // връща сл.месец
    bool sl_mesec(int &mesec, int &godina) {
      if(mesec>=12) {
        godina++;
        mesec=1;
        return true;
      }
      else {
        mesec++;
        return false;
      }
    }
    
    // връща сл.ден
    bool sl_den(int &den, int &mesec, int &godina) 
    {
      den++;
      int max_den;
      switch(mesec) 
      {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12: max_den=31;
        case 2: max_den=28;
        default: max_den=30;
      }
      if(den>max_den) 
      {
        den=1;
        sl_mesec(mesec, godina);
        return true;
      }
      return false;
    }
    
    
    // главна функация
    int main(int argc, char *argv[])
    {
        pechat(30, 5, 2014);
        int d, m, g;
        dnes(d, m, g);
        pechat(d, m, g);
        cout<<"Sl.godina shte e "<<sl_godina(g)<<endl;
        bool ng= sl_mesec(m, g);
        cout<<"Sl.mesec shte e "<<m<<'.'<<g<<endl;
        if (ng) cout<<"Chestita Nova Godina!"<<endl;
        bool nd= sl_den(d, m, g);
        cout<<"Sl.den shte e "<<d<<'.'<<m<<'.'<<g<<endl;
        if (nd) cout<<"Mina i toia mesec!"<<endl;
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }

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