c - 如何在键盘输入时立即停止C while循环而不继续下一步?

标签 c while-loop

运行这个程序后,当我输入-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/

相关文章:

java - 欧氏除法中的位补运算符

excel - 循环直到最后一行并在行更改时更新单元格值

php - While 循环:将两个结果分组到一个 div 上

c - 如何在使用 gdb 调试递归函数时跳过一部分

c - 基于模板的 C/C++ 代码生成

c - 页面对齐分配的目的是什么?

c - 重写二维数组时内存泄漏

java - 如何以新值退出 while 循环?

r - 如何编写一个接受自己的输出作为输入并循环运行直到满足条件的函数?

java - 循环已经疯了