double型の変数 a,b,c,d,eを定義して、a=1 b=2 c=3 d=4と設定して

e=(a+d*b+c)/(2+d); と式を立てて d=2となるようなプログラムを立てているのですが計算結果が0になったりあきらかに大きい値になったりします。
式の書き方がまずいのでしょうか?
それと,例でa,b,c,dは整数と設定していますが、a,b,c,dが小数だとeが正しく表示されないのでしょうか?
詰まっているのでよろしくお願いします