【问题标题】:Switch & case in CC语言中的开关和案例
【发布时间】:2016-04-13 07:31:52
【问题描述】:

我已经编写了代码,向用户显示了一个菜单,以便他们可以选择工资率,一旦他们完成了,他们需要输入工作小时数。从那里我试图在循环结束之前计算总工资、税金和净工资。我需要使用#defined 常量,税收是前 300 美元的 15%。或者至少我将如何以及在哪里添加一个简单的工资率乘以小时数的计算?

#include <stdio.h>
#include <ctype.h>
int main(void)
{
int pick;
int hours;
float total;

do {

    printf_s("************************************************\n");
    printf_s("Enter the number corresponding to the desired pay rate or action:\n");
    printf_s("\n1) $8.75/hr\n");
    printf_s("\n2) $9.33/hr\n");
    printf_s("\n3) $10.00/hr\n");
    printf_s("\n4) $11.20/hr\n");
    printf_s("\n5) quit\n");
    printf_s("************************************************\n");

    scanf_s("%d", &pick);
    printf("Enter the number of hours: \n");
    scanf_s("%d", &hours);

    switch (pick)
    {
    case 1: total = hours * 8.75;
        break;

    case 2: total = hours * 9.33;
        break;

    case 3: total = hours * 10.00;
        break;

    case 4: total = hours * 11.20;
        break;

    case 5:
        break;

        return 0;


    }
} while (pick != 5);
}

【问题讨论】:

  • 你有什么问题?
  • 大约一周前你问过这个same question。如果你在一周内无法解决问题,那么你应该认真考虑找个家教。
  • 哦,还有……printf_sscanf_s 都不是标准函数。在不需要解决您的问题时使用实现定义的扩展只会使 a) 查找文档、b) 获得帮助变得更加困难。
  • @user3386109 我已经有一周没做这个了。我根据之前的答案修复了我的代码,现在才重新开始处理这个问题。我只是想弄清楚如何以及在何处添加计算逻辑。
  • @DevSolar:这取决于您对标准的定义。它们是附件 K 中指定的 C11 的可选部分(但很少在 Unix 系统上实现),并且它们是 Microsoft 系统的标准(尽管那里的接口与附件 K 中的接口有点不同)。请参阅Do you use the TR-24731 'safe' functions? 了解我对它们有用性的看法。但批评人们使用它们是不合理的——微软坚决鼓励使用它们。

标签: c


【解决方案1】:

首先你需要将total初始化为0

此外,由于您可以多次添加,因此您需要将值添加到 total 而不是覆盖该值。

while-loop 之后,您需要添加计算税金的逻辑。

由于这显然是家庭作业,我最初不会提供实际代码。 先自己试试吧!

【讨论】:

  • 感谢您的回复,我对在哪里添加计算税收等的逻辑有点犹豫不决。我是否将其添加到案例 5 之后的“中断”下方,就在退货声明之前?
  • @user3247128:是的,税收计算逻辑上在切换之后和循环结束之前进行。您已经计算了交换机中的总工资。您现在可以计算税款并在更多报表中应用金额限制,然后(大概)打印详细信息。
  • @user3247128 是的,要么在那里,要么您可以将 return 0; 移到 main 的末尾,并在 while-loop 之后添加税收计算。
猜你喜欢
  • 2013-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多