我有一个学校作业,对模拟自助结账机进行编程。为了使之保持话题,我的问题是输入硬币/纸币的值。
假设输入起作用,您可以将其输入一行并以0结尾,也可以按一次Ctl + d(具体说一次)结束它。
我是什么:
#inlcude <stdio.h>
void main(){
double number=0, sum=0;
while(scanf("%lf", &number)==1 && number!=0){
//do some stuff with number to check if it's a valid coin
sum+=number;
}
}
如果我以0结尾的行很好用,但是如果尝试以Ctrl + d结尾,则必须按两次。我并不是班上唯一遇到此问题的人,但老师说她是通过使用scanf()使其工作的,而她的解决方法只需要一个Ctrl + d。
有办法吗?