Kapitel 5 - Programm 10 - DATUM.H

zurück...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
					     // Kapitel 5 - Programm 10 - DATUM.H

// Diese Datumsklasse soll zeigen, wie man eine nicht triviale
//  Klasse in C++ erstellt. Obwohl sie brauchbar ist, ist sie
//  immer noch einfach genug, um von einer neuen C++ Programmiererin
//  in all ihren Details verstanden zu werden.

#ifndef DATUM_H
#define DATUM_H

class Datum {

protected:

   int Monat;			 // 1 bis 12
   int Tag;                    // 1 bis MaxTage
   int Jahr;			 // 1500 bis 2200
   static char AusStrom[25];	 // Formatierte Ausgabe
   static char Format;		 // Format für die Ausgabe

	// Berechne die Anzahl der Tage eines Monats
	// Beachte - Diese Methode ist privat und kann damit
	//		 nur innerhalb der Klasse aufgerufen werden
   int TageImMonat(void);

public:
	// Konstruktor - Setze das Datum auf das aktuelle Datum
	//		     und das Format auf 1
   Datum(void);

	// Setze das Datum auf diese Parameter
	//  Rückgabewert = 0 ---> Alle Daten ok
	//  Rückgabewert = 1 ---> Etwas außerhalb des Erlaubten
   int SetzeDatum(int EinMonat, int EinTag, int EinJahr);

	// Hole Monat, Tag oder Jahr der gespeicherten Daten
   int HoleMonat(void) { return Monat; };
   int HoleTag(void)   { return Tag;   };
   int HoleJahr(void)  { return Jahr;  };

	// Wähle das gewünschte Format für die Ausgabe aus, wenn
	//  HoleFormatiertesDatum aufgerufen wird
   void SetzeFormat(int EinFormat) { Format = EinFormat; };

	// Gib eine ASCII-Z Zeichenfolge mit dem gespeicherten Format zurück
	//   Format = 1	Aug 29, 1991
	//   Format = 2	29.8.91
	//   Format = 3	29.8.1991
	//   Format = 4	29 Aug 1991       Militärische Zeit
	//   Format = ?	Alles andere wird als Format 1 interpretiert
   char *HoleFormatiertesDatum(void);

	   // Gib Jan Feb Mar Apr etc. zurück
   char *HoleMonatsName(void);
};

#endif

zurück...