C 配菜菜单';不流行

C 配菜菜单';不流行,c,loops,if-statement,for-loop,while-loop,C,Loops,If Statement,For Loop,While Loop,在用户选择比萨饼后,他们无法选择自己的配菜,因为配菜菜单缺失 循环有什么问题吗 它被怀疑与循环时有关 int main() { int cont; int cust; int i; int j; double side=0.00; double pizza=0.00; double total=0.00; for(cust=0;cust<5;cust++) { printf("Welcome To Pizza Hut\n"); printf("Pizza Menu :\n

在用户选择比萨饼后,他们无法选择自己的配菜,因为配菜菜单缺失

循环有什么问题吗

它被怀疑与循环时有关

int main()
{
int cont;
int cust;
int i;
int j;
double side=0.00;
double pizza=0.00;
double total=0.00;

for(cust=0;cust<5;cust++)
{
    printf("Welcome To Pizza Hut\n");
    printf("Pizza Menu :\n");
    printf("1=Chicken\n");
    printf("2=Meat\n\n");
    printf("Enter Pizza Flavor : ");
    scanf("%d",&i);

    if(i==1)
    {
        pizza=5.50;
    }
    if(i==2)
    {
        pizza=4.50;
    }

    while(cont==1) /*This is where the menu for side order didn't show*/
    {
        printf("Side Order Menu :\n");
        printf("1=coke\n");
        printf("2=pepsi\n");
        printf("3=bread\n");
        printf("4=salad\n\n");
        printf("Enter Side Order : ");
        scanf("%d",&j);

        if(j==1)
        {
            side=1.50;
        }
        if(j==2)
        {
            side=1.30;
        }
        if(j==3)
        {
            side=2.50;
        }
        if(j==4)
        {
            side=2.60;
        }

        printf("Add Order? (1=yes||0=no) : ");
        scanf("%d",&cont);
    }
  }

total=pizza+side;
printf("Total : %.2f",total);
cust++;
return 0;
}
intmain()
{
内部控制;
int cust;
int i;
int j;
双面=0.00;
双份比萨饼=0.00;
双倍合计=0.00;

对于(cust=0;cust此处,您没有为cont变量指定值,因此while循环无法正常工作。

此处,您没有为cont变量指定值,因此while循环无法正常工作。

如果有行
int cont;
,则将其替换为
int cont=1;
cont
将具有不确定的值,so您永远不会进入循环以将其设置为其他任何内容。

如果您有行
int cont;
,请将其替换为
int cont=1;
cont
将具有不确定的值,因此您永远不会进入循环以将其设置为其他内容。

如果我没有错,当您说

while(cont==1)
你是说,当cont等于1时,继续,cont永远不是1。
您还必须将变量计数初始化为0。

如果我没有错,当您说

while(cont==1)
你是说,当cont等于1时,继续,cont永远不是1。
您还必须将变量计数初始化为0。

我认为有一些错误:

  • 您应该将cont变量初始化为1
  • 您应该在while循环中添加一个中断机制,以摆脱它
  • 再次执行while循环后,应将cont变量重置为1
  • 这可能会奏效:

    int main()
    {
    int cont = 1;
    int cust;
    int i;
    int j;
    double side=0.00;
    double pizza=0.00;
    double total=0.00;
    
    for(cust=0;cust<5;cust++)
    {
        printf("Welcome To Pizza Hut\n");
        printf("Pizza Menu :\n");
        printf("1=Chicken\n");
        printf("2=Meat\n\n");
        printf("Enter Pizza Flavor : ");
        scanf("%d",&i);
    
        if(i==1)
        {
            pizza=5.50;
        }
        if(i==2)
        {
            pizza=4.50;
        }
    
        while( cont == 1 ) /*This is where the menu for side order didn't show*/
        {
            printf("Side Order Menu :\n");
            printf("1=coke\n");
            printf("2=pepsi\n");
            printf("3=bread\n");
            printf("4=salad\n\n");
            printf("Enter Side Order : ");
            scanf("%d",&j);
    
    
            if(j==0)
            {
                cont = 0;
                break;
            }
    
            if(j==1)
            {
                side=1.50;
            }
            if(j==2)
            {
                side=1.30;
            }
            if(j==3)
            {
                side=2.50;
            }
            if(j==4)
            {
                side=2.60;
            }
    
            printf("Add Order? (1=yes||0=no) : ");
            scanf("%d",&cont);
        }
    
        cont = 1;
      }
    
    total=pizza+side;
    printf("Total : %.2f",total);
    cust++;
    return 0;
    }
    
    intmain()
    {
    int cont=1;
    int cust;
    int i;
    int j;
    双面=0.00;
    双份比萨饼=0.00;
    双倍合计=0.00;
    
    对于(cust=0;cust我认为有一些错误:

  • 您应该将cont变量初始化为1
  • 您应该在while循环中添加一个中断机制,以摆脱它
  • 再次执行while循环后,应将cont变量重置为1
  • 这可能会奏效:

    int main()
    {
    int cont = 1;
    int cust;
    int i;
    int j;
    double side=0.00;
    double pizza=0.00;
    double total=0.00;
    
    for(cust=0;cust<5;cust++)
    {
        printf("Welcome To Pizza Hut\n");
        printf("Pizza Menu :\n");
        printf("1=Chicken\n");
        printf("2=Meat\n\n");
        printf("Enter Pizza Flavor : ");
        scanf("%d",&i);
    
        if(i==1)
        {
            pizza=5.50;
        }
        if(i==2)
        {
            pizza=4.50;
        }
    
        while( cont == 1 ) /*This is where the menu for side order didn't show*/
        {
            printf("Side Order Menu :\n");
            printf("1=coke\n");
            printf("2=pepsi\n");
            printf("3=bread\n");
            printf("4=salad\n\n");
            printf("Enter Side Order : ");
            scanf("%d",&j);
    
    
            if(j==0)
            {
                cont = 0;
                break;
            }
    
            if(j==1)
            {
                side=1.50;
            }
            if(j==2)
            {
                side=1.30;
            }
            if(j==3)
            {
                side=2.50;
            }
            if(j==4)
            {
                side=2.60;
            }
    
            printf("Add Order? (1=yes||0=no) : ");
            scanf("%d",&cont);
        }
    
        cont = 1;
      }
    
    total=pizza+side;
    printf("Total : %.2f",total);
    cust++;
    return 0;
    }
    
    intmain()
    {
    int cont=1;
    int cust;
    int i;
    int j;
    双面=0.00;
    双份比萨饼=0.00;
    双倍合计=0.00;
    
    对于(cSUT=0;CuSTWELL,是COT==1;int / /初始化为0,它是一个本地的,所以它不是初始化到任何东西。嗯,是COT==1 int int;//初始化为0,它是一个本地的,所以它没有初始化任何东西。如果不是自动存储,它不会。”YYN4您的答案非常有用!谢谢,如果它有帮助的话,考虑接受它。(点击旁边的嘀嗒声),如果答案是你回答的问题,这里就做了。“JasLiPANOT如果它是自动存储的,它就不会。”YAN4你的答案非常有用!谢谢你,如果它有帮助,考虑接受它(点击旁边的滴答声)。,因为如果答案回答了您的问题,这就是这里要做的。@JazliPathank you..我忘了为变量cont指定起始值..我的错误谢谢..我忘了为变量cont指定起始值..我的错误是对的..我忘了为其指定值..谢谢@dacastro4yeah right..我忘了为其指定值..谢谢@达卡斯特罗4