Straddle height sounds fine to me, so the bike size is in the right ballpark at least.
My guess is that the saddle is set MUCH too low. It's a common misconception that your feet must touch the ground when in the saddle. The result of this, is that when you pedal, your knees come up too high, leading to the cramped and uncomfortable riding position you describe.
Ideally, when the pedal is at the bottom of its stroke, you want your leg to be straight, but not fully extended, while at the top of the stroke you want the knee to be bent, but not too much. You'll know when it's right, because everything just feels comfortable.
So, how to set the saddle height...
Get on the bike and support yourself against a wall / with a chair. Set the pedal on the opposite side to the bottom of its stroke and put your heel on it. If your leg isn't straight, raise the height of the saddle. Repeat as necessary. You don't want to feel that you are stretching your leg though. This method will give you a height that's approximately right for you. You may get lucky and hit the sweet spot right away, but often there will be minor tweaking required. So you might want to pop an allen key in your pocket so you can effect the changes while out and about.