C 在这种情况下如何计算工资?然后为不同的速率添加if语句?

C 在这种情况下如何计算工资?然后为不同的速率添加if语句?,c,switch-statement,C,Switch Statement,请看案例2。有些工人有加班费。我不知道如何编程。我认为这个逻辑是正确的,但它甚至不退还工资。如何将算法添加到案例2中以获得结果?我是否也可以将if语句添加到switch case?他们的工资是一个费率,最多40小时,然后是1.5小时。任何帮助都很好,谢谢 #include <stdio.h> int main (void) { int paycode; int hours; int salary; int rate; int overtime

请看案例2。有些工人有加班费。我不知道如何编程。我认为这个逻辑是正确的,但它甚至不退还工资。如何将算法添加到案例2中以获得结果?我是否也可以将if语句添加到switch case?他们的工资是一个费率,最多40小时,然后是1.5小时。任何帮助都很好,谢谢

#include <stdio.h>

int main (void)
{
    int paycode;
    int hours;
    int salary;
    int rate;
    int overtime_rate;

    rate=10;
    overtime_rate=15;

    printf ("Please Enter employee paycode\n");
    scanf("%d",&paycode);           

    switch (paycode) {        
    case 1:
         printf ("Manager salary is $5000");
         break;
    case 2: 
       printf ("Enter hours\n");
       scanf ("%d",&hours); 

       if (hours <=40){
           salary=hours * rate;
           printf ("%d",&salary);
       }
       break;             
    default:
       printf ("No salary information");  
       break;        
   }        
    getch ();        
}
#包括
内部主(空)
{
国际支付代码;
整小时;
国际工资;
整数率;
国际加班费;
比率=10;
加班费=15;
printf(“请输入员工工资代码\n”);
scanf(“%d”和支付代码);
交换机(付费代码){
案例1:
printf(“经理工资为5000美元”);
打破
案例2:
printf(“输入小时数”);
scanf(“%d”,和小时);

如果(小时这是打印存储
salary
值的地址

printf ("%d",&salary);
换成

printf ("%d", salary);
/*           ^ remove the & */
当然,您可以在案例中添加一个
if
语句。

这应该是一个简单的事情,比如:

case 2:
    // Get the hours.

    printf ("Enter hours\n");
    scanf ("%d",&hours); 

    // Select pay based on rates and hours worked.

    if (hours <= 40)
        salary = hours * rate;
    else
        salary = 40 * rate + (hours - 40) * overtime_rate;

    // Print pay, note lack of & address-of operator.

    printf ("%d", salary);
}
break;
案例2:
//抓紧时间。
printf(“输入小时数”);
scanf(“%d”,和小时);
//选择基于费率和工作时间的工资。

if(hours您只需要在if(hours<40)
之后添加一个
else
语句

代码:


if(hours您可以在没有明确if的情况下执行此操作,并在计算后简单打印结果

   salary = (hours <= 40) ?  hours * rate : (40 * rate) + ((hours - 40) * overtime_rate);
   printf ("%d",salary);

salary=(小时
printf(“%d”,和salary);
->
printf(“%d”,salary)
要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与Stack无关Overflow@HotLicks,我不想问一位负责回答好问题的资深会员,但这些东西的要求在哪里?顺便说一句,我怀疑你的T恤衫有没有旧的比我:-)不是不可能,只是不太可能。@paxdiablo-请求是隐含的。@HotLicks,phew,我认为这可能是一个苛刻的要求。也许我们可以说那里也有一个关于减肥产品的隐含广告,并将其标记为垃圾邮件:-)对我来说,我更愿意给予怀疑的好处,尤其是当任何隐含的请求似乎都被读入其中而不是被OP放在那里时。尽管如此,每个人都有权在他们认为合适的时候投票,而swarm会解决这个问题,所以我不会争论这一点。
   salary = (hours <= 40) ?  hours * rate : (40 * rate) + ((hours - 40) * overtime_rate);
   printf ("%d",salary);