У меня есть школьное задание на программирование симулятора машины самообслуживания. Чтобы держать это в теме, моя проблема с вводом значений монет / заметок.
Способ ввода подразумевается, что вы вводите его в одну строку и заканчиваете строку 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.
Есть ли способ сделать это?