switch case loop statement

时间:2015-07-31 16:10:22

标签: if-statement switch-statement

我的一项任务有问题。我创建了一个函数名chequingsaving,当我调用这个函数时,它打印一些正确的数据,但是当我输入字符取决于我选择的帐户时,它直接退出循环。如果我输入了正确的字符值,那么同样的事情就会发生。该功能代码如下。帮我弄清楚我的错误。问题是我也使用了一个开关盒,但它仍然直接进入默认状态。 if / else循环也会发生同样的事情。

void chequingsaving()  /*Chequing and saving account function*/
{
    char a;
    double r, Initialamount = 0;
    printf(" c) Chequing\n");
    printf(" s) Savings\n");
    printf("Which account would you like to use?\n");
    scanf("% c", &a);

    if (a == 'c' || a == 'C')
        {
            printf("Please enter the amount for deposit\n");
            scanf("% lf", &r);
            Initialamount = Initialamount + r;
            printf("Your chequing account balance is=%lf", Initialamount);
        }
    else
        if (a == 's' || a == 'S')
        {
            printf("Please enter the amount for deposit\n");
            scanf("%lf", &r);
            Initialamount = Initialamount + r;
            printf("Your chequing account balance is=%lf", Initialamount);
        }
        else

        printf("Invalid character\n");

} 

2 个答案:

答案 0 :(得分:1)

删除scanf中的空格:

scanf("%c", &a);

以及以下scanf

scanf("%lf", &r);

答案 1 :(得分:0)

你的scanf不正确,你有空间"%c"。