Witam, czy byłby ktoś w stanie pomóc w napisaniu programu w c++
Napisz program demonstrujący użycie poniższych metod:
Zdefiniuj klasę data
Powinna dostarczać pól składowych:
-dzień, miesiąc, rok
-gettery i settery dla tych pól. Zwróć uwagę na to, że zmiana dnia lub miesiąca wymaga
sprawdzenia poprawności danych (np. nie ma daty 31 lutego 2011).
-konstruktor inicjalizujący podane pola. Uwaga jak wyżej.
-metodę toString() zwracającą tekstową reprezentację daty
[C++] Klasa dla daty
[C++] Klasa dla daty
Ostatnio zmieniony 8 sty 2014, o 17:43 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
[C++] Klasa dla daty
Kod: Zaznacz cały
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
class Data
{
short Dzien;
short Miesiac;
short Rok;
public:
Data(short Dzien, short Miesiac, short Rok);
void setDzien(short newDzien)
{
if((Miesiac==1 || Miesiac==3 || Miesiac==7 || Miesiac==9 || Miesiac==12) && newDzien>=1 && newDzien <=31);
Dzien=newDzien;
if((Miesiac==4 || Miesiac==6 || Miesiac==8 || Miesiac==10 ) && newDzien>=1 && newDzien<=30)
Dzien=newDzien;
}
short getDzien()
{
return Dzien;
}
short getMiesiac()
{
return Miesiac;
}
short getRok()
{
return Rok;
}
string toString()
{
ostringstream ss;
ss<<"Dzien"<<'-'<<"Miesiac"<<'-'<<"Rok"<<endl;
return ss.str();
}
};
int main()
{
Data Dzis(19,12,2013);
cout<<Dzis.toString()<<endl;
return 0;
}
Ostatnio zmieniony 8 sty 2014, o 17:44 przez Afish, łącznie zmieniany 1 raz.
Powód: Brak tagów.
Powód: Brak tagów.
-
- Użytkownik
- Posty: 171
- Rejestracja: 29 gru 2013, o 17:41
- Płeć: Kobieta
- Lokalizacja: Pruszków
- Pomógł: 64 razy
[C++] Klasa dla daty
1. Popraw wiadomość, żeby kod był między tagami
[/code]
2. Na razie wygląda dobrze, poprawiłabym jedynie nazwy pól w klasie na pisane małą literą, tzn.
Taka jest konwencja.
3. Trzeba jeszcze dopisać settery dla miesiąca i roku - przy miesiącu sprawdzenie jest proste, dla roku na pewno większy od 0 (chyba że masz inne ograniczenia narzucone).
4. Setter dla dnia, jeśli mamy miesiąc luty - trzeba spróbować zaimplementować sprawdzenie (w osobnej metodzie), czy rok jest przestępny, i w zależności od tego ustawić ograniczenie.
Kod: Zaznacz cały
[code]kod
2. Na razie wygląda dobrze, poprawiłabym jedynie nazwy pól w klasie na pisane małą literą, tzn.
Kod: Zaznacz cały
short dzien;
short miesiac;
short rok;
3. Trzeba jeszcze dopisać settery dla miesiąca i roku - przy miesiącu sprawdzenie jest proste, dla roku na pewno większy od 0 (chyba że masz inne ograniczenia narzucone).
4. Setter dla dnia, jeśli mamy miesiąc luty - trzeba spróbować zaimplementować sprawdzenie (w osobnej metodzie), czy rok jest przestępny, i w zależności od tego ustawić ograniczenie.