Napisz definicj臋 klasy
TDataKalendarzowa modeluj膮cej informacje o numerze
dnia,
miesi膮cu i
roku.
Definicja powinna zawiera膰 przynajmniej:
- dwa
konstruktory (jeden bezparametrowy a drugi trzyparametrowy),
- metod臋
Ustaw pozwalaj膮c膮 ustawi膰 warto艣膰 daty (z kontrolowaniem czy numer dnia mie艣ci si臋 w przedziale warto艣ci od 1 do 31, a numer miesi膮ca w przedziale od 1 do 12),
- metod臋
Wyswietl, kt贸ra wypisze na ekranie dat臋 w postaci cyfrowej np. 26.06.2004,
- metod臋
WyswietlSlownie, kt贸ra wypisze na ekranie dat臋 z miesi膮cem podanym s艂ownie np. 26 czerwiec 2004,
- metod臋
PodajRok, kt贸ra zwr贸ci (przez return) warto艣膰 roku aktualnie pami臋tanej daty.
Nast臋pnie napisz kr贸tki program, kt贸ry utworzy obiekt tej klasy, nada mu warto艣膰 daty 30.06.2004 i wy艣wietli j膮 za pomoc膮 metody
WyswietlKod:
#include <iostream>
#include <iomanip>
#include <cstring>
using namespace std;
//---------------------------------------------------------------------------
class TDataKalendarzowa
{
private:
int d, m, r;
public:
TDataKalendarzowa(void);
TDataKalendarzowa(int dzien, int miesiac, int rok);
void Ustaw(int dzien, int miesiac, int rok);
void Wyswietl(void);
void WyswietlSlownie(void);
int PodajRok(void);
};
//---------------------------------------------------------------------------
TDataKalendarzowa::TDataKalendarzowa(void)
{
d = 0;
m = 0;
r = 0;
}
//---------------------------------------------------------------------------
TDataKalendarzowa::TDataKalendarzowa(int dzien, int miesiac, int rok)
{
Ustaw(dzien, miesiac, rok);
}
//---------------------------------------------------------------------------
void TDataKalendarzowa::Ustaw(int dzien, int miesiac, int rok)
{
if (dzien < 1 || dzien > 31)
d = 0;
else
d = dzien;
if (miesiac < 1 || miesiac > 12)
m = 0;
else
m = miesiac;
r = rok;
}
//---------------------------------------------------------------------------
void TDataKalendarzowa::Wyswietl(void)
{
if (d == 0 || m == 0)
cout << "Data nieznana" << endl;
else
cout << setfill ('0') << setw(2) << d << "." << setfill ('0')
<< setw(2) << m << "." << r << endl;
}
//---------------------------------------------------------------------------
void TDataKalendarzowa::WyswietlSlownie(void)
{
char miesiac[12];
if (d == 0 || m == 0)
cout << "Data nieznana" << endl;
else
{
switch (m)
{
case 1 : strcpy(miesiac, "styczen"); break;
case 2 : strcpy(miesiac, "luty"); break;
case 3 : strcpy(miesiac, "marzec"); break;
case 4 : strcpy(miesiac, "kwiecien"); break;
case 5 : strcpy(miesiac, "maj"); break;
case 6 : strcpy(miesiac, "czerwiec"); break;
case 7 : strcpy(miesiac, "lipiec"); break;
case 8 : strcpy(miesiac, "sierpien"); break;
case 9 : strcpy(miesiac, "wrzesien"); break;
case 10 : strcpy(miesiac, "pazdziernik"); break;
case 11 : strcpy(miesiac, "listopad"); break;
case 12 : strcpy(miesiac, "grudzien"); break;
}
cout << d << " " << miesiac << " " << r << endl;
}
}
//---------------------------------------------------------------------------
int TDataKalendarzowa::PodajRok(void)
{
return r;
}
//---------------------------------------------------------------------------
void main()
{
TDataKalendarzowa data;
data.Ustaw(30, 6, 2004);
data.Wyswietl();
cin.ignore(cin.rdbuf()->in_avail());
cin.get();
}