【问题标题】:What is wrong with my Cost per oz Calculations我的每盎司成本计算有什么问题
【发布时间】:2021-01-04 19:53:12
【问题描述】:
int main(){

    int TIMES_TAKEN_JUICE, COUNTER =0, amount_of_Juice, TOTAL_JUICE_TAKEN;
    float COST_OF_JUICE_TAKEN, JUICE_AMOUNT_TAKEN, COST_OF_JUICE, JUICE_COST_PER_OZ;

    printf("What is the weight (in oz.) of the original container of OJ?\n");
    scanf("%d", &amount_of_Juice);

    printf("What is the cost of the original container of OJ in dollars?\n");
    scanf("%f", &COST_OF_JUICE);

    JUICE_COST_PER_OZ = COST_OF_JUICE / (float) amount_of_Juice; 
    printf("%f", &JUICE_COST_PER_OZ);

    printf("How many times did your roommate take your juice?\n");
    scanf("%d", &TIMES_TAKEN_JUICE);

    while(COUNTER < TIMES_TAKEN_JUICE){

        printf("How much juice did your roommate take this time (in oz.)?\n");
        scanf("%d", &JUICE_AMOUNT_TAKEN);
        COUNTER++;
        TOTAL_JUICE_TAKEN += JUICE_AMOUNT_TAKEN;
        COST_OF_JUICE_TAKEN = TOTAL_JUICE_TAKEN * JUICE_COST_PER_OZ;

        if (COST_OF_JUICE_TAKEN >= 10.00)
        {
            printf("Your roommate owes you $10.00\n");
        }
        
    }
    return 0;
}

我不知道为什么 JUICE_COST_PER_OZ 变量不起作用。我已经尝试了我能想到的所有可能的组合。

【问题讨论】:

  • “不工作”以什么方式?它会抛出错误吗?值错了吗?如果是这样,您的投入是什么,您看到了什么价值以及您的期望是什么?
  • 当我运行它时,每次输出都是 0.000000000。该值应该是小数点后的百分之一。
  • 旁注:对于惯用风格,所有大写的变量名通常用于常量(例如#define PI 3.14159)。所以,JUICE_COST_PER_OZ --> juice_cost_per_oz。而且,由于您使用amount_of_Juice 中的“snake case”[我更喜欢] 与amountOfJuice 中的“camel case”,因此使用amount_of_juice 中的所有小写字母会有所帮助
  • 它没有输出正确的果汁成本
  • ??????小心前行,看看会发生什么?

标签: c math casting


【解决方案1】:

scanf 在变量名之前需要&amp;,因为它会修改它们。 printf 不会,因为它只读取它们。使打印输出阅读:

printf("%f", JUICE_COST_PER_OZ);

样式注释:我建议您将所有变量小写。大写通常只用于常量,不用于常规变量。

【讨论】:

  • 只剩下一期了。乘以果汁的成本并没有给出预期的输出
  • TOTAL_JUICE_TAKEN 未初始化
  • 它是一个整数。
  • 已定义,但未初始化,因此其初始值未定义(堆栈外的随机值)。在向其添加值之前,您需要将其设置为 0。
  • 我已经解决了这个问题,但它仍然没有输出正确的果汁成本。
猜你喜欢
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
相关资源
最近更新 更多