Alexander Zverev will face Carlos Alcaraz in the semi-finals after a comfortable win over American Ben Shelton