当我们输入键盘而不进行下一步时,如何立即停止C while循环?
在我运行这个程序后,当我输入-999时,它必须停止。但即使在执行-999之后,它也会停止。我做错了什么 这是代码的问题 输入员工编号和员工的工作小时数,并显示以下内容: 员工人数、加班费以及加班费超过4000卢比的员工百分比。 用户应输入–999作为结束计划的员工编号,正常的加班费率为每小时150卢比,超过40小时的加班费率为每小时200卢比当我们输入键盘而不进行下一步时,如何立即停止C while循环?,c,while-loop,C,While Loop,在我运行这个程序后,当我输入-999时,它必须停止。但即使在执行-999之后,它也会停止。我做错了什么 这是代码的问题 输入员工编号和员工的工作小时数,并显示以下内容: 员工人数、加班费以及加班费超过4000卢比的员工百分比。 用户应输入–999作为结束计划的员工编号,正常的加班费率为每小时150卢比,超过40小时的加班费率为每小时200卢比 #include<stdio.h> int main() { int empno=0,tot; float hours, o
#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循环检查在您输入第一个员工编号之前开始时发生一次,但直到您完成所有数据输入、计算和打印后才会再次发生。在您询问员工编号后,您可以使用if语句检查empno==-999是否为breakif scanf%d,&empno!=1{fputs错误:无效输入-empno\n,stderr;返回1}-始终验证每个用户输入。然后如果empno==-999中断;立即退出。@Tyger谢谢您的回复,我以前试过,但我会再试一次。关于:小时*150.00;这是基本工资。关于:小时数-40*200这是加班费。你应该把它们分开。注意:40*150的基本工资是6000,已经超过了4000的截止点。哦,我没想到会这样,谢谢@user3629249