Да се напише програма, съдържаща и демонстрираща функции за:
- връщане на датата на създаване на програмата (като параметри ден, месец и година)
- въвеждане на датата от клавиатурата
- отпечатване на дата, при подадени като параметър ден, месец и година
- проверява дали две дати са равни
- проверява дали дадена дата е днешна дата
- отпечатване на дата, като месеца е с думи (например „31 mai 2013“)
- преминаване в следваща година
- преминаване в следващ месец
- връщане на брой седмици от началото на годината (грубо пресметнати, при всеки месец от 30 дни)
- По желание: преминаване в следващ ден


#include <cstdlib> #include <iostream> using namespace std; void datasuzdawane (int &d, int &m, int &y){ d=4; m=11; y=2016; } void dataklawiatura (int &d, int &m , int &y){ cout<<"Wuwedete dneshnata data"; cin>>d>>m>>y; } void dataotpechatwane(int d, int m , int y){ cout<<d<<"."<<m<<"."<<y<<endl; } bool dalidatarawna(int d, int m , int y, int d1, int m1 , int y1){ return ((d==d1)&&(m==m1)&&(y==y1)); } bool daliedneshnadata(int d, int m , int y){ return dalidatarawna(d, m , y, 4, 11 , 2016); } int dataMesecSdumi(int d, int m, int y){ } void dataSledwashtaGodina(int &d, int &m, int &y){ d=1; m=1; y=y+1; } int main(int argc, char** argv) { int d1,m1,y1,d2,m2,y2; datasuzdawane(d1,m1,y1); cout<<"data na suzdawane e "; dataotpechatwane(d1,m1,y1); cin>>d1>>m1>>y1; cin>>d2>>m2>>y2; if(dalidatarawna(d1,m1,y1,d2,m2,y2)) cout<<"rawni sa"; else cout<<"ne sa rawni"; dataSledwashtaGodina(d1,m1,y1); dataotpechatwane(d1,m1,y1); return 0; }Много добре, Боби! Но помисли защо не си използвал dataklawiatura () за въвеждане на двете дати за сравнение. :-) Нещо ти е пречело, май. Всичко друго е ОК.
#include <cstdlib> #include <iostream> using namespace std; //връщане на датата на създаване на програмата void dataSuzdavane(int &d, int &m, int&g) { d=4; m=11; g=2016; } //въвеждане на датата от клавиатурата void dataVuvedi(int &d, int &m, int &g) { cout<<"Vuvedete den, mesec i godina "; cin>>d>>m>>g; } //отпечатване на дата, при подадени ден, месец и година void dataPechat(int d, int m, int g) { cout<< d<<'.'<<m<<'.'<<g<<endl; } //проверява дали две дати са равни bool dataRavni(int d1, int m1, int g1, int d2, int m2, int g2){ return((d1==d2)&&(m1==m2)&&(g1==g2)); } //проверява дали дадена дата е днешна дата bool daliEdbeshnaData(int d1, int m1, int g1){ return dataRavni(d1, m1, g1, 4, 11, 2016); } //отпечатване на дата, като месеца е с думи (например „31 mai 2013“) int dataMesecSdumi(int d1, int m1 , int g1){ cout<<d1<<' '; switch(m1) { case 1: cout<<"January"; break; // да се допълни за другите месеци } cout<<' '<<g1<<endl; } //преминаване в началото на следваща година void sledvashtaGodina(int &d, int &m, int &g){ d=1; m=1; g=g+1; } //преминаване в следващ месец void sledvashtMesec(int &d,int &m,int &g){ d=1; if (m==12) { m=1; g++; } else { m++; } } int main(int argc, char** argv) { int d1, m1, g1, d2, m2, g2; dataSuzdavane(d1, m1, g1); cout<<"Datata na suzdawave e "; dataPechat(d1, m1, g1); cout<<"Vuvedete data:"; dataVuvedi(d2,m2,g2); if (dataRavni(d1,m1, g1, d2, m2, g2)) cout<<"Dvete dati sa ravni"<<endl; else cout<<"Ne sa ravni"<<endl; sledvashtaGodina(d2, m2, g2); dataPechat(d2, m2, g2); sledvashtMesec(d2, m2, g2); dataPechat(d2, m2, g2); return 0; }Поправено**
#include <cstdlib> #include <iostream> using namespace std; void datasuzdawane (int &d, int &m, int &y){ d=4; m=11; y=2016; } void dataklawiatura (int &d, int &m , int &y){ cout<<"Wuwedete data "; cin>>d>>m>>y; } void dataotpechatwane(int d, int m , int y){ cout<<d<<"."<<m<<"."<<y<<endl; } bool dalidatarawna(int d, int m , int y, int d1, int m1 , int y1){ return ((d==d1)&&(m==m1)&&(y==y1)); } bool daliedneshnadata(int d, int m , int y){ return dalidatarawna(d, m , y, 4, 11 , 2016); } int dataMesecSdumi(int d, int m, int y){ } void dataSledwashtaGodina(int &d, int &m, int &y){ d=1; m=1; y=y+1; } int main(int argc, char** argv) { int d1,m1,y1,d2,m2,y2; datasuzdawane(d1,m1,y1); cout<<"data na suzdawane e "; dataotpechatwane(d1,m1,y1); dataklawiatura(d1,m1,y1); dataklawiatura(d2,m2,y2); if(dalidatarawna(d1,m1,y1,d2,m2,y2)) cout<<"rawni sa"; else cout<<"ne sa rawni"; dataSledwashtaGodina(d1,m1,y1); dataotpechatwane(d1,m1,y1); return 0; }