Wenn das Programmende erreicht ist, schließt sich die Konsole wieder, sofern das Programm vom Desktop aus geöffnet wird. Vom Compiler aus gestartet bleibt die Konsole geöffnet. Das mag anfangs irritieren, ist aber logisch, denn das Programm wurde nun einmal abgearbeitet.

Um das zu verhindern ist eine weitere Eingabe notwendig, die allerdings im Folgenden keine Funktion mehr zu erfüllen bräuchte. Sie dient lediglich dazu, die Laufzeit des Programms bis zur Eingabe irgendeines Kommandos zu verlängern. Bekannt ist: Beenden mit beliebiger Taste. Eine solche Variable muss dann allerdings deklariert werden; auch wenn sie keinen Wert aufnimmt.

Trotzdem ein kleiner Vorgriff auf do { ... } while ( ... ), um besagter Variable Sinn zu geben.

Datentypen  |  Schleifen mit do und while  |  Abläufe definieren

In Pascal wird das Programm entweder durch ein abschliessendes readln oder readkey mit uses crt auf irgendeine Eingabe warten, bevor es sich beendet. Eine Parallele hierzu ist das in C bekannte system("pause") mit stdlib.h

Viele stören sich aber an der Ausgabe Weiter mit beliebiger Taste..., die in C unveränderlich ausgegeben wird. Und weil system("pause") schon etwas betagt ist, kann man ruhig eigene Kreationen anlegen.

Der Datentyp char steht für Charakter, was im Griechischen etwa Prägung oder Stempel heißt und schliesst alle Zeichen ein. Dem char ist z.B. die Ziffer 4 auch nur ein Zeichen mit Adresse und sonst gar nichts.

Solange Sie - im Beispiel ein e - nicht das korrekte Zeichen eingeben, werden Sie immer wieder aufgefordert, die Eingabe zu wiederholen. Wie lange? Unendlich lange! Die do... while... Schleife erklärt sich somit von selbst.

... kommt aus dem Lateinischen inire = anfangen und beschreibt den Startwert. Heutige Compiler initialisieren mit 0 und brauchen eigentlich keine Definition. Es könnten aber Warnungen auftauchen.

Manchmal will der Anwender mit Werten weiterrechnen und so ergibt sich die Notwendigkeit einer Initialisierung von selber, weil man sonst zu viele Variablen deklarieren müsste. Gewisse Schleifen - etwa die for Schleife - arbeiten auch zuverlässiger mit Initial. Bei neuer Belegung wird der Speicher wieder freigegeben.

Globale Variablen haben im gesamten Programm Gültigkeit. Lokale Variablen nur an betreffender Stelle, was sich aber schon aus den Namen ergibt. Genauer in der Funktion, womit hier aber auch und sogar das Hauptprogramm gemeint ist. Somit gilt int main() { Hauptprogramm } in diesem Zusammenhang als Funktion. Irgendwie stimmt das ja auch.

Kapselung und Lokales  |  Funktionen

Sine nomine.

In aller Regel entgeht niemandem ein leeres Textfeld. Dennoch sei hier ein Beispiel gegeben, das ein oder zwei leere Eingabefelder nicht lange auf sich sitzen lässt. Beachten Sie, daß statt der Variablen der Pfad der Oberfläche als Bedingung gilt. Ferner spielt der Aufbau des Programms eine grosse Rolle.

Löschen Sie wechselweise ein oder beide Felder und beachten Sie dabei die Meldungen.

JavaDome: if... else...

Startseite  |  Hinweise und Impressum  |  Facebook  |  Twitter  |  Google plus