Probleme mit * & / <-

Hallo Habe folgendes Problem:
Habe einen Taschenrechner in C programmiert, aber es funktionieren nur die + und - Funktionen. die * & / Funktionen ergeben immer 0.
Finde keine Lösung. Könntet ihr mal drüber schauen ?

#include „stdio.h“
// Addieren Funktion
void addieren(double Zahl1,double Zahl2) {
double ergebnis;
ergebnis=Zahl1+Zahl2;
printf(„Ergebnis = %d“, ergebnis);
printf("\n");
}
// Subtrahieren Funktion
void subtrahieren(double Zahl1,double Zahl2) {
double ergebnis;
ergebnis=Zahl1-Zahl2;
printf(„Ergebnis = %d“, ergebnis);
printf("\n");
}
// Multiplizieren Funktion
void multiplizieren(double Zahl1,double Zahl2) {
double ergebnis;
ergebnis=Zahl1 * Zahl2;
printf(„Ergebnis = %d“, ergebnis);
printf("\n");
}
// Dividieren Funktion
void dividieren(double Zahl1,double Zahl2) {
double ergebnis;
ergebnis=Zahl1/Zahl2;
printf(„Ergebnis = %d“, ergebnis);
printf("\n");
}
// Beginn
double main(void)

{
// Variablen - Deklarationen
double Zahl1;
double Zahl2;
int wahl;

// Variabelen - Definition
Zahl1=0;
Zahl2=0;

// Eingabe Zahl1
printf(„Geben Sie die erste Zahl ein mit der Sie arbeiten möchten : „);
scanf_s(“%d“, &Zahl1);

// Eingabe Zahl2
printf(„Geben Sie die zweite Zahl ein mit der Sie arbeiten möchten : „);
scanf_s(“%d“, &Zahl2);

printf("\n");

printf(„Was möchten Sie mit den beiden Zahlen machen ? Waehlen Sie aus:\n“);
printf(„1. +\n“);
printf(„2. -\n“);
printf(„3. *\n“);
printf(„4. /\n“);
printf("\n");

// Eingabe in Variable Wahl für Switch Anweisung
scanf_s("%d", &wahl);

// Switch Anweisung
switch(wahl) {
case 1 : addieren(Zahl1,Zahl2);
break;
case 2 : subtrahieren(Zahl1, Zahl2);
break;
case 3 : multiplizieren(Zahl1, Zahl2);
break;
case 4 : dividieren(Zahl1, Zahl2);
break;

default : printf(„Unbekannte Eingabe\n“);
}

system(„Pause“);

return(0);
}

Hallo!

Ersetz mal die „%d“ in scanf durch „%lf“ und in printf durch „%f“.

Gruß Tobias

Danke das funktioniert werde jetzt mal schauen wieso da so ist. Vielen dank.

Mfg