Сравняване на дати

Да се дефинира като нов тип данни структура data, съхраняваща ден, месец и година. Да се декларират две променливи от този тип, да им се въведат стойности и да се проверят:

  • дали датите съвпадат
  • ако не, коя дата е първа и коя е след нея
Публикувано в 12а, 12в с етикети , . Постоянна връзка.

5 Responses to Сравняване на дати

  1. marant каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        struct data {
               int d;
               int m;
               int g;
               };
               data a,b;
            cout<<"Vuvedete data, mesec i godina: ";
            cin>>a.d>>a.m>>a.g;
            cout<<"Vuvedete vtora data, mesec i godina: ";
            cin>>b.d>>b.m>>b.g;
                if(((a.d)==(b.d))&&
                   ((a.m)==(b.m))&&
                   ((a.g)==(b.g)))
                      cout<<"Datite suvpadat"<<endl;
           else if((a.g)<(b.g))
                   cout<<"Purvata data e purva"<<endl;
           else if((a.g)>(b.g))
                   cout<<"Vtorata data e purva"<<endl;
           else if((a.m)<(b.m))
                   cout<<"Purvata data e purva"<<endl;
           else if((a.m)>(b.m))
                   cout<<"Vtorata data e purva"<<endl;
           else if((a.d)<(b.d))
                   cout<<"Purvata data e purva"<<endl;
           else if((a.d)>(b.d))
                   cout<<"Vtorata data e purva"<<endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Има още работа по нея, но ще я довършим вкъщи. ;)

  2. Gerry06 каза:
    int main(int argc, char *argv[])
    
    {     
        struct data
    {
        int den;
        int mesec;
        int godina;
    } ;
        data d1, d2;
        cout<<"Vuvedete purvata data: ";
        cin>>d1.den>>d1.mesec>>d1.godina;
        cout<<"Vuvedete vtorata data: ";
        cin>>d2.den>>d2.mesec>>d2.godina;
        if ((d1.den==d2.den)&&(d1.mesec==d2.mesec)&&(d1.godina==d2.godina))
          cout<<"Suvpadat"<<endl;
        else cout<<"Ne"<<endl; 
        
        
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  3. maleboldjia каза:

    Ето я обновената част. Може някъде да е изпуснато нещо, просто защото
    всичко е много натрупано :(

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    	struct data {
    		int d;
    		int m;
    		int g;
    	};
    	data a,b;
    	
    	cout<<"Vuvedete data, mesec i godina: ";
        cin>>a.d>>a.m>>a.g;
        cout<<"Vuvedete vtora data, mesec i godina: ";
        cin>>b.d>>b.m>>b.g;
    
    	if ((a.m>12)||(b.m>12)) {  //Проверява за месеца
        cout<<"Nevalidna data."<<endl;
        system("PAUSE");
        return 0;
    }
        if (((a.m==1)||(a.m==3)||(a.m==5)||(a.m==7)||(a.m==8)||(a.m==10)||(a.m==12))||
           ((b.m==1)||(b.m==3)||(b.m==5)||(b.m==7)||(b.m==8)||(b.m==10)||(b.m==12)))
           if ((a.d>31)||(b.d>31)){  // Проверява дните в тези месеци
                 cout<<"Tozi mesec ima 31 dni."<<endl;
                 system("PAUSE");
                 return 0;
               }
        if (((a.m==4)||(a.m==6)||(a.m==9)||(a.m==11))||
           ((b.m==4)||(b.m==6)||(b.m==9)||(b.m==11)))
              if ((a.d>30)||(b.d>30)) { // --//--
                 cout<<"Tozi mesec ima 30 dni."<<endl;
                 system("PAUSE");
                 return 0;
              }
        if ((a.m==2)||(b.m==2))
           if (((((a.g%4)==0)&&((a.g%100)!=0))||((a.g%400)==0))||
              ((((b.g%4)==0)&&((b.g%100)!=0))||((b.g%400)==0))){ // Високосна ли е годината
               if ((a.d>29)||(b.d>29)) {
                  cout<<"Tozi mesec ima 29 dni."<<endl;
                  system("PAUSE");
                  return 0;
               }
           }
           else {
              if ((a.d>28)||((b.d>28))) {
                 cout<<"Tozi mesec ima 28 dni."<<endl;
                 system("PAUSE");
                 return 0;
              }
           }
    
         if ((a.d)==(b.d)&&
    	     (a.m)==(b.m)&&
    		 (a.g)==(b.g))
    		cout<<"Datite suvpadat."<<endl;
    		cout<<endl;
    	 if ((a.g)<(b.g)) // Проверката започва от годините
    		cout<<"Purvata data e po-ranna."<<endl<<endl;
         else if ((a.g)>(b.g))
            cout<<"Vtorata data e po-ranna."<<endl<<endl;
         else if ((a.m)<(b.m)) // После проверява месеците
            cout<<"Purvata data e po-ranna."<<endl<<endl;
         else if ((a.m)>(b.m))
            cout<<"Vtorata data e po-ranna."<<endl<<endl;
         else if ((a.d)<(b.d)) // И накрая дните
            cout<<"Purvata data e po-ranna."<<endl<<endl;
         else if ((a.d)>(b.d))
            cout<<"Vtorata data e po-ranna."<<endl<<endl;
    
        system("pause");
    	return 0;
    }
    
  4. Emili Cekova каза:
     #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    int main(int argc, char *argv[])
     
    {      
        struct data   // deklarirane na struktura s ime data
    {
        int den; // deklarirane na promenliva s ime den
        int mesec; // deklarirane na promenliva s ime mesec
        int godina; // deklarirane na promenliva s ime godina
    } ;
        data d1, d2;  // poleta na strukturata
        cout<<"Vuvedete purvata data: "; // izvejdane na text ekrana
        cin>>d1.den>>d1.mesec>>d1.godina; // vuvejdane ot klaviaturata 
        cout<<"Vuvedete vtorata data: "; // izvejdane text na ekrana 
        cin>>d2.den>>d2.mesec>>d2.godina; //vuvejdane ot klaviaturata
        if ((d1.den==d2.den)&&(d1.mesec==d2.mesec)&&(d1.godina==d2.godina)) // ako dnite , mesecite i godinite sa ravni
          cout<<"Suvpadat"<<endl; // izvejdane na ekrana,che suvpadat i nov red
        else cout<<"Ne"<<endl; // v protiven sluchai se izvejda na ekrana "Ne" i nov red
         
         
         
        system("PAUSE");
        return EXIT_SUCCESS;
    } 
  5. Viliany каза:
    struct data
    {
    int den;
    int mesec;
    int godina;
    };
    
    cout<<"Vuvedi dve dati (DD,MM,GG): "<<endl;
        data d1;
        data d2;
        cout<<"Vuvedi DD ";
        cin>>d1.den;
        cout<<"Vuvedi MM ";
        cin>>d2.mesec;
        cout<<"Vuvedi GG ";
        cin>>d1.godina;
        cout<<endl;
        cout<<"Vuvedi DD ";
        cin>>d2.den;
        cout<<"Vuvedi MM ";
        cin>>d2.mesec;
        cout<<"Vuvedi GG ";
        cin>>d2.godina;
        cout<<endl;
    
    if ((d1.den==d2.den)&&(d1.mesec==d2.mesec)&&(d1.godina==d2.godina))    
    cout<< "Datite suvpadat :) ! "<<endl;
    else cout<< "Datite ne suvpadat :( !  "<<endl;  

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