I have the problem that after the first run of the addieren() function the default case is triggered and the result of the calculation disappears.

Sorry for my bad english.


Code:
#include <stdio.h>
#include <stdlib.h>


void wurzel();
void addieren();
void subtrahieren();
void dividieren();
void multiplizieren();
void menue();
void rechenOperator(char rOperator);


int main()
{
    menue();
    char eingabeOperator=NULL;
    printf("\nSchreibe den gewuenschten Rechen-Operator: ");
    eingabeOperator=getchar();


    rechenOperator(eingabeOperator);
}


void menue(){
    printf("\n----- Taschenrechner-Menue -----\n");
    printf("Schreibe 'S' oder 's' um den Rechner zu verlassen \n");


    printf("Schreibe + Symbol fuer Addition \n");
    printf("Schreibe - Symbol fuer Subtraktion \n");
    printf("Schreibe * Symbol fuer Multiplikation \n");
    printf("Schreibe / Symbol fuer Division \n");
    printf("Schreibe 'W' oder 'w' fuer Wurzel \n");
}


void rechenOperator(char rOperator) {


        switch(rOperator) {
            case'+':addieren();
                    break;


            case'-':subtrahieren();
                    break;


            case'*':multiplizieren();
                    break;


            case'/':dividieren();
                    break;


            case's':exit(0); break;


            case'S':exit(0); break;


            case'w':wurzel();
                    break;


            case'W':wurzel();
                    break;


            default:system("cls");
                    printf("Du hast keine korrekte Auswahl eingegeben.\n");
                    main();
                     break;
        }


}


void addieren(){
    float Summand1, Summand2, ergebnis;
    printf("\nErster Summand: ");
    scanf("%f", &Summand1);
    printf("\nZweiter Summand: ");
    scanf("%f", &Summand2);


    ergebnis = Summand1 + Summand2;


    system("cls");
    printf("\n%f + %f = %f\n", Summand1, Summand2, ergebnis);
    main();
}