It depends on last letter of the word. If the last letter is f ,s, t, ı, k, ç, ı, ş, a, h, a, or p and if suffix starts with b, c, d or g , these latters change to d,g, b, c respectively , as you say .
dolap+da - dolapta,
aç+dı -açtı,
kitap+cı - kitapçı,
bit+gin - bitkin,
15+de -15'te,
Türk+ce - Türkçe
there is only one exception but it rarely used.
Muratgil, köpekgiller***** they suppost to be Muratkil and köpekkiller but they dont.
source: wiki