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

#define ENDE 0
#define ZERO 0
#define DIV_ZERO 0

char eingabefunktion(char eingabe);
double eingabezahlen(double eingabe);
double additionfunktion(double a,double b);
double substraktionfunktion(double a,double b);
double multiplikationfunktion(double a,double b);
double divisionfunktion(double a, double b);
double eingabedivision(double b);



int main(void){
	char eingabe;
	double result = 0.0;
	double zahla = 0.0;
	double zahlb = 0.0;
	char a = "a";
	char b = "b";
	char c = "c";
	char d = "d";
	char e = "e";
	for(;;){
		eingabe = eingabefunktion(eingabe);	
		if(eingabe == a){
			printf("ADDITION WURDE AUSGEWÄHLT\n");
			printf("ZAHL A:\n");
			zahla= eingabezahlen(zahla);
			printf("ZAHL B:\n");
			zahlb= eingabezahlen(zahlb);
			result= additionfunktion(zahla,zahlb);
			printf("%lf + %lf\n", zahla, zahlb);
		}
		if(eingabe == b){
			printf("SUBSTRAKTION WURDE AUSGEWÄHLT\n");
			printf("ZAHL A:\n");
			zahla= eingabezahlen(zahla);
			printf("ZAHL B:\n");
			zahlb= eingabezahlen(zahlb);
			result = substraktionfunktion(zahla,zahlb);
			printf("%lf - %lf\n", zahla, zahlb);
		}
		if(eingabe == c){
			printf("MULTIPLIKATION WURDE AUSGEWÄHLT\n");
			zahla= eingabezahlen(zahla);
			printf("Zahl B :\n");
			zahlb=eingabezahlen(zahlb);
			result=multiplikationfunktion(zahla,zahlb);
			printf("%lf * %lf\n", zahla, zahlb);
		}
		if(eingabe == d){
			printf("DIVISION WURDE AUSGEWÄHLT\n");
			printf("Zahl A: \n");
			zahla= eingabezahlen(zahla);
			printf("Zahl B: \n");
			zahlb=eingabedivision(zahlb);
			printf("%lf / %lf\n",zahla, zahlb);
			result= divisionfunktion(zahla,zahlb);
		}
		if(eingabe == e){
			printf("PROGRAMMENDE\n");
			return ENDE;
		}
		printf("Ergebnis : %lf\n",result);
	}
}
double eingabedivision(double b){
	scanf("%lf", &b);
	if(ZERO == b){
		do{
			printf("NICHT 0, neue Zahl: \n");
			scanf("%lf",&b);
			fflush(stdin);
		}while(ZERO == b);
	}
	return b;
}
double divisionfunktion(double a, double b){
	double result = 0.0;
	result = a / b;
	return result; 
}
double multiplikationfunktion(double a,double b){
	double result = 0.0;
	result = a * b;
	return result;
}

double substraktionfunktion(double a,double b){
	double result = 0.0;
	result = a - b;
	return result;	
}

double additionfunktion(double a,double b){
	double result = 0.0;
	result = a + b;
	return result;
	
}

double eingabezahlen(double eingabe){
	for(;;){
		if(!scanf("%lf", &eingabe)){
			printf("Falsche Eingabe!\n");
		}
		else{
			return eingabe;
		}
	}
}
char eingabefunktion(char eingabe){
	char a = "a";
	char b = "b";
	char c = "c";
	char d = "d";
	char e = "e";
	printf("a)Addition\nb)Substraktion\nc)Multiplikation\nd)Division\ne)Programmende\n");
	do{
		scanf("%c",&eingabe);
		fflush(stdin);
	}while(eingabe != a && eingabe != b && eingabe != c && eingabe != d &&eingabe != e);
	return eingabe;
}

...zur Antwort