Mistake in phrasing on my part. My comment should have opened with "I would imagine that most places that take plastic only advertise it when you walk in."
But you're mistaken about any establishment being forced to take cash to settle a debt. From the US Treasury website:
There is, however, no Federal statute mandating that a private business, a person or an organization must accept currency or coins as for payment for goods and/or services. Private businesses are free to develop their own policies on whether or not to accept cash unless there is a State law which says otherwise. For example, a bus line may prohibit payment of fares in pennies or dollar bills. In addition, movie theaters, convenience stores and gas stations may refuse to accept large denomination currency (usually notes above $20) as a matter of policy.
Based on this, a merchant is free to require plastic only. Your offer to pay cash may be rebuffed, but your debt is still open unless and until you find a means to pay the merchant in the merchant's preferred fashion. Failure to do so opens you up to legal action.