Konstanten Drucken E-Mail

 

Konstanten helfen dem Programmierer Fehler innerhalb von Programmen zu vermeiden.

Dies hier ist die fertige Version eines Brutto-Netto-Rechners mit Vergabe von Konstanten. Weiter unten werden weitere Möglichkeiten zur Konstantenvergabe gezeigt.

// Brutto-Netto-Rechner.cpp :

 

#include <iostream>

 

using namespace std;

 

 

int main()

{

      // Definition

      double netto = 10;

      const double mwst = 1.20;

 

      // Berechnung

      double brutto = netto * mwst;

 

      cout << "Der Bruttopreis liegt bei " << brutto << endl;

 

      system ("PAUSE">

      return EXIT_SUCCESS;

}

Variablen sind jederzeit mit einem Wert neu belegbar, Konstanten jedoch nicht. Darum ist es von Vorteil bei längeren Programmen mit Konstanten zu arbeiten, da man diese nicht unabsichtlich ändern bzw. neu zuweisen kann.

Wichtig: Achten Sie darauf, dass das Komma in C++ ein Punkt ist.

      // Definition

      double netto = 10;

 

      // Berechnung

      double brutto = netto * 1.20;


Man könnte einfach hier die Konstante mwst weglassen und stattdessen gleich sagen: Nimm den Betrag der bei netto definiert ist und multipliziere ihn mit 1,20.

Das Problem hierbei liegt in der Überschaubarkeit des Programmes. Dies so zu pflegen erfordert meist sehr viel Arbeit. Also sehen wir weiter wie wir das Problem noch in den Griff bekommen können.

 

 

#include <iostream>

#define mwst 1.20

      // Definition

      double netto = 10;

      // Berechnung

      double brutto = netto * mwst;


Der Befehl #define macht nichts anderes als den Code zu durchsuchen und an jeder Stelle wo mwst steht den vordefinierten Wert von 1.20 einzusetzen.

Daher braucht man bei der Berechnung nicht mehr * 1.20 einzugeben, sondern lediglich * mwst, da man diese Konstante zuvor bereits definiert hat.

 

#include <iostream>

#define mwst 1.20

      // Definition

      double netto = 10;

      // Berechnung

      double brutto = netto * mwst;

      double mwst = 1.20;


Wenn man jetzt jedoch versucht eine neue mwst zu definieren bekommen wir eine Fehlermeldung. Also das ist nicht möglich.

 

#include <iostream>

 

      // Definition

double netto = 10;

      const double mwst = 1.20;

 

      // Berechnung

      double brutto = netto * mwst;


Es gibt aber eine elegantere Art und Weise solche Probleme zu lösen. Daher nehmen wir den Befehl #define heraus und generieren eine Konstante (const).

Eine mit const definierte Speicherzelle können wir nicht wieder ändern.

Wenn man versucht die Variable nachträglich zu ändern bekommt man eine Fehlermeldung das es sich um eine read-only Variable handelt.

Wichtig ist es nur die Variable in einem Element zu definieren (const double mwst = 1.20;)