C循环,如何连续提示用户?

问题描述 投票:0回答:1

我正在学习诸如for和while循环之类的循环,因此我决定进行测试并编写一个程序,您可以在下面查看代码。该程序为用户提供了一系列选项来输入选项,但是我的问题是我希望能够在操作完成后不断要求用户“输入命令”。

例如,如果我输入1,将执行必要的代码,但是整个程序就结束了。如何增强该程序,使其不断要求用户输入新命令,直到用户通过输入0强制退出为止?]

#include <stdio.h>

int main()
{
    int n;
    int credit = 0;
    int YN;

    printf("Welcome to Cash booking software Version 2.145\n");
    printf("--------------------------------------------------------\n");

    printf("Use the following options:\n");
    printf("0 -- Exit\n");
    printf("1 -- Display Credit\n");
    printf("2 -- Change Credit\n");
    printf("3 -- Remove Credit\n");

    printf("\n");

    for ( ; ; )
    {
        printf("Enter a command: ");
        scanf("%d", &n);

        if (n == 0)
        {
            return 0;
        }
        else if (n == 1)
        {
            printf("Your credit is £%d", credit);
        }
        else if (n == 2)
        {
            printf("Enter a new credit value: \n");
            scanf("%d", &credit);
            printf("Your new credit value is %d", credit);
        }
        else if (n == 3)
        {
            printf("Are you sure you want to remove your Credit value? (Y=1/N=2)");
            scanf("%d", &YN);
            if (YN == 1)
            {
                credit = 0;
            }
            else
                ;
        }

        return 0;
    }
}

c loops for-loop
1个回答
1
投票

return 0移动到循环外部,否则,每次操作后,您将在循环结束时到达return 0,因此程序将结束。

int main()
{
    int n;
//rest of your code
    for ( ; ; )
    { 
        //inside of loop
    }
        return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.