Konstanten in C++

Konstanten helfen dem Programmierer Fehler innerhalb von Programmen zu vermeiden.

Brutto-Netto-Rechner in C++ mit Konstanten

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.

Überschaubarkeit von Programmcodes

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.

read-only Variable

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;)