【问题标题】:Which loop to use?使用哪个循环?
【发布时间】:2015-07-02 09:29:19
【问题描述】:

我希望用户输入杯子的数量,我的程序将为它们计算小计、税收和总计。然后我想让程序询问他们是否要订购更多的柠檬水。如果他们输入'y​​',它将让他们添加,如果他们输入'n',它将停止。我应该使用哪个循环(While、do、for)?

这是我目前所拥有的:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void main()
{
    int NumCups,count=0;
    float SubTot, Tot = 0, Tax;
    char more;
    printf("Enter the number of cups:");
    scanf("%d", &NumCups);
    SubTot = NumCups*1.29;
    Tax = SubTot*0.0825;
    Tot = SubTot + Tax;

    printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
    fflush(stdin);
    printf("Thank you.\nWould you like to order more lemonade?\n");
    scanf("%c", &more);
    while(more!='y')
    {
        SubTot += SubTot;
        Tax +=Tax;
        Tot+=Tot;
        printf("Enter the number of cups:");
        scanf("%d", &NumCups);
        printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
    }
        system("pause");
    }

【问题讨论】:

  • 你卡在哪里了?您的程序有什么不按预期工作?
  • @cristik 我希望循环继续询问我是否要订购更多。但在它第一次问我之后,它就停止了。
  • 任何这些循环选择都可以强制执行您想要的操作;如果您有问题,为什么不尝试一个并提出更具体的问题?
  • @carlNorum 我已经尝试过 while 循环,但我不知道如何为它编写代码来做我想做的事情。
  • 你为什么不发布你尝试过的东西,有人可以帮助你?上面的代码甚至不包含循环。老实说,你给我的帖子看起来像是一项任务,虽然我很乐意提供帮助,但我想提供帮助,而不是为你做,这样你就可以学习。如果您发布您的尝试,我自己或其他人可以帮助找到您的缺陷并纠正它。现在你的代码甚至没有尝试循环。

标签: c loops while-loop char


【解决方案1】:

我手边没有 C 编译器,所以我不能保证它是 100% 正确的,但是像这样的东西似乎是你想要的。我在这里所做的是在循环开始之前询问用户。如果他们说是,则循环运行。在循环结束时,它会再次询问他们。如果他们说不,它就会破裂。如果他们说是,它会循环,直到他们说不。就像我说的,手边没有 C 编译器,所以它可能需要稍作改动,但它应该能让你走上正确的轨道。我的猜测是这里所有的小计计算都是错误的,因为循环中没有任何东西使用 NumCups,但我认为这至少回答了如何使用循环的问题。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void main()
{
    int NumCups,count=0;
    float SubTot, Tot = 0, Tax;
    char more='y';
    printf("Enter the number of cups:");
    scanf("%d", &NumCups);
    SubTot = NumCups*1.29;
    Tax = SubTot*0.0825;
    Tot = SubTot + Tax;

    printf("Subtotal:%0.2f\nTax:%0.2f\nTotal:%0.2f\n", SubTot, Tax, Tot);
    fflush(stdin);
        printf("Thank you.\nWould you like to order more lemonade?\n");
        scanf("%c", &more);

    while(more=='y')
    {

        SubTot += SubTot;
        Tax +=Tax;
        Tot+=Tot;
        printf("Enter the number of cups:");
        scanf("%d", &NumCups);
        fflush(stdin);
        printf("Thank you.\nWould you like to order more lemonade?\n");
        scanf("%c", &more);
    }
        system("pause");
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2014-10-14
    • 2019-12-28
    • 1970-01-01
    • 2013-06-17
    • 2011-06-13
    相关资源
    最近更新 更多