This happened to me at a Marriott once, only difference was they gave away my non smoking room to a bus group which they overbooked, and then offered me the same accomodations, only smoking. I refused, stayed at a different hotel that evening, and came back the next morning to have a non confrontational chat with the hotel manager. Needless to say, I walked out of the Marriott with the previous nights accomodations paid in full and a voucher for a future complimentary nights stay at my discretion. It always pays to complain when you have a legitimate gripe, but I've found that someone is more apt to make it right if you are civil in your presentation.