Logo

Objective-C, Xcode und Cocoa Tutorial


 

 

EIN TUTORIAL ZU OBJECTIVE-C, XCODE UND COCOA

 

Kapitel 9 - Fortsetzung

Im folgenden Programm werden enumerierte Datentypen verwendet um beispielsweise zu berechnen, wieviel Tage ein Monat hat.

Programm 9.1

-----------------------------------------------------------------------------------------------------------------------------

int main (int argc, char *argv[])
{
      enum monat {jaenner = 1, februar, maerz, april, mai, juni, juli, august, september, oktober, november, dezember};
     
      enum monat einMonat;
      int tage;
     
      printf ("Gib eine Monatszahl ein (Zahl zwischen 1 und 12):");
      scanf ("%i", &einMonat);
     
      switch (einMonat) {
            case jaenner:
            case maerz:
            case mai:
            case juli:
            case august:
            case oktober:
            case dezember:
                  tage = 31;
                  break;
            case april:
            case juni:
            case september:
            case november:
                  tage = 30;
                  break;
            case februar:
                  tage = 28;
                  break;
            default:
                  printf ("falsche Monatszahl\n");
                  tage = 0;
                  break;
      }
      if ( tage != 0 )
            printf ("Die Anzahl der Tage ist %i\n", tage);
      if ( tage == februar)
            printf ("...oder auch 29, wenn es ein Schaltjahr ist\n");
      return 0;
}

Programm 10.3 output
-----------------------------------------------------------------------------------------------------------------
Gib eine Monatszahl ein (Zahl zwischen 1 und 12):3
Die Anzahl der Tage ist 31
-----------------------------------------------------------------------------------------------------------------

 



Sie können auch einem ganzzahligen Wert (int) expliziet eine enumerierte Variable zuweisen. So können Sie den type cast Operator - Sie erinnern sich was ein type cast operator ist? - verwenden und z.B.:

letzterMonat = (enum Monat)

definieren.

Wenn Sie enum verwenden, verlassen Sie sich nicht auf die Tatsache, dass enumerierte Werte als Ganzzahlen (Integer) verwendet werden. Versuchen Sie statt dessen lieber enum Datentypen als eigene Datentypen anzusehen. Mit enum haben Sie die Möglichkeit symbolische Namen Ihrer Wahl einem ganzzahligen Wert zuzuweisen.

Das typedef Kommando
Ein Datentyp (int, float,...) kann in Objective-C auch ein alternativer Name zugewiesen werden. So können Sie z.B.:

typedef int breite;

verwenden und breite ist nun für den Objective-C compiler das gleiche wie int. So können jetzt mit breite ganzzahlige Variablen definiert werden. Somit ist für den Compiler

int b;

das gleiche wie:

breite b;

Das kann Programm leichter lesbar machen. Für andere Programmierer kann das natürlich leicht zur Verwirrung führen, weshlab erfahren Programmierer, wenn Sie ein Programm von jemand anders übernehmen, immer nachsehen ob nicht irgendwo ein typedef definiert wurde.


weiter ---- Objective-C Index ---- Startseite----zurück


Das Inhaltsverzeichnis

EINSTIEG
KAPITEL 1: SCHRITT FÜR SCHRITT ZUM ERSTEN PROGRAMM
KAPITEL 2: OBJEKTE, KLASSEN, INSTANZEN UND METHODEN
KAPITEL 3: DIE VERSCHIEDENEN DATENTYPEN
KAPITEL 4: DIE PROGRAMMSCHLEIFEN
KAPITEL 5: ENTSCHEIDE DICH, ENTWEDER ODER....
KAPITEL 6: UND NOCHMALS KLASSEN
KAPITEL 7: VERERBUNG
KAPITEL 8: POLYMORPHISMUS, DYNASCHISCHE TYPISIERUNG UND DYNAMISCHES BINDEN
KAPITEL 9: NOCH MEHR DATENTYPEN UND VARIABLEN
KAPITEL 10: CATEGORIES, POSING AND PROTOCOL
KAPITEL 11: DER PRÄPROZESSOR

 

 

 

Links