运行这个程序后,当我输入-999时它必须停止。但即使执行-999后它也会停止。我在这里做错了什么?
这是代码的问题。
输入员工编号、员工工作时间,显示如下: 员 worker 数、加类费以及加类费超过卢比的员工百分比4000/-。 用户应输入 –999 作为员工编号来结束程序,正常加类费率为每小时 150 卢比,每小时 150 卢比。超过 40 小时每小时 200。
#include<stdio.h>
int main()
{
int empno=0,tot;
float hours, otp, prcn;
while(empno!=-999){
printf("Enter the Employee No: ");
scanf("%d",&empno);
printf("Enter the No of Hours: ");
scanf("%f",&hours);
if(hours<40){
otp=hours*150.00;
}
else
otp=((hours-40)*200)+(hours*150.00);
if(otp>4000){
prcn+=1;
tot+=1;
}
else
tot+=1;
printf("\nEmployee No: %d\n",empno);
printf("Over Time Payment: %.2f\n",otp);
printf("Percentage of Employees whose OTP exceeding the Rs. 4000/-: %.2f%%\n\n",(prcn/tot)*100);
}
}
我希望当我输入 -999 时它会停止而不继续。
最佳答案
之后没有任何声明:
printf("Enter the Employee No: ");
scanf("%d",&empno);
和之前:
printf("Enter the No of Hours: ");
scanf("%f",&hours);
这会导致您的程序在您输入-999
后停止。 while
循环检查在您开始时(在输入第一个员工编号之前)发生一次,但直到您完成所有数据输入、计算和打印之后才会再次发生。
关于c - 如何在键盘输入时立即停止C while循环而不继续下一步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57173552/