/* decl.cpp

Beispiele für Variablendeklaration

In diesem Programm stecken zwei (Laufzeit-)Fehler.
Der Compiler bemerkt diese und gibt Warnungen aus.


@author David Reitter
@version 1.0

*/



#include <iostream.h>

int globaleVariable;


int erhoehe(signed int argumentVariable)
{

    // lokale Variablen

	string lokalerText = "Potsdam"; // hier: deklaration und definition

    float lokalerWert;

	// statische variablen behalten ihren Wert
    // wird mit 3 initialisiert
	static unsigned int statischeVariable = 3;


    // konstante variablen (können nicht verändert werden)

 	const signed int konstanterWert = -1;

    cout << "Aufruf von erhoehe(argumentVariable:" <<argumentVariable << ")" << endl;

    cout << "  lokalerWert vor Definition: " << lokalerWert << endl;

    lokalerWert = 3.14159; 	// definition

    cout << "  lokalerWert nach Definition: " << lokalerWert << endl;


    statischeVariable+= argumentVariable;	// erhöhe um Eins

    cout << "  statischeVariable nach Erhoehung: " << statischeVariable << endl;

    cout << "  lokalerText: " << lokalerText << endl;


    // Versuch, den konstanten Wert zu ändern:
    // (führt zu Compiler-Fehler)

    // konstanterWert++;


    cout << "  konstanterWert: " << konstanterWert << endl;

    if ( statischeVariable < lokalerWert )
    {
     	cout << " statischeVariable ist kleiner als " << lokalerWert << endl;

    }


    cout << endl;

    cout << "Return druecken." << endl;
	cin.get();



    return(statischeVariable);


}



int main()
{

	cout << "Variablendeklaration" << endl << endl;

    cout << "globaleVariable: " << globaleVariable << endl;

	erhoehe(4);
	erhoehe(8);
	erhoehe(-30);
	erhoehe(0);


}

