You need to do a little homework to aviod excessive fees when converting money.
Credit cards are accepted all over Europe but generally Discover is not as widely accepted. Many vendors will offer a cash discount to avoid the credit cards and taxes!!
Most credit cards charge a transaction fee for foreign currency transactions 3 - 5% so you will need to factor that in. There are many credit cards available that do not charge extra for foreign transactions.
If you can dollars for Euros on board the ship you will not get the best exchange rate and you will also be paying Carnival a percentage.
You can change money for minimal fees if you have an AMEX credit card and an Amex travel store near you, You can also purchase foreign currency from AAA if you happen to be a member.
In Europe you will get the best exchange rates at banks, not street vendors. You can also use ATM's but again you need to check with your bank to determine the fees you would incur when using an overseas ATM. I don't like spending my vacation time waiting to change money so I just estimate what I need before the trip and order it through AAA, they ship it to my home and I'm ready to go.
Have a great cruise