C++中使用Ctrl+Z与While循环实现EOF控制时的输出异常问题求助
C++中使用Ctrl+Z与While循环实现EOF控制时的输出异常问题求助
我接触C++才3周,还是个编程新手,最近在做老师布置的作业时遇到了个小麻烦,实在有点摸不着头脑,想请大家帮忙看看!
先简单说下背景:作业要求用EOF控制的while循环来实现让用户输入任意多条行程信息,循环要能处理多次输入直到用户触发EOF退出。
我大概把代码的框架搭起来了,但遇到一个问题:当我用Ctrl+Z触发EOF想要退出循环时,循环的最后一段输出还是会跑出来,没法直接停止。
具体情况是这样的:我在代码里做了预读用户输入再进入循环的处理,但当我在这个提示后按Ctrl+Z:
Enter the name of the destination: (此处按Ctrl+Z触发EOF)
程序并不会直接退出,反而会接着输出后面的提示内容:
Enter the number of miles travelled: Enter the number of gallons used: (这些内容会直接打印出来)
我想知道怎么调整才能让按下Ctrl+Z后,这些后续的提示内容就不再输出了?
任何建议或者思路我都很感激!
备注:内容来源于stack exchange,提问作者yangd14
相关产品推荐
相关产品推荐

