与do while语句有关的一个问题

为什么此代码只能执行一次,即使最后输入y,依然结束运行。
我的目的是,做一个switch语句的计算机,计算一次后,如果还想再计算,输入y即可。但是此代码只能运行一次,不知道哪里有错误,求解答

img

编译环境为dev c++编译语言为c语言

在每个scanf语句前加一句rewind(stdin);