用户选择他们的披萨后,他们无法选择他们的边订单,因为缺少边订单菜单。
循环有什么问题吗?
怀疑与循环有关。
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;
}
答案 0 :(得分:3)
这里,你没有给cont变量赋值,所以while循环不能正常工作。
答案 1 :(得分: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;
}
答案 2 :(得分:0)
如果您有int cont;
行,请将其替换为int cont=1;
。 cont
将具有不确定的值,因此您永远不会进入循环以将其设置为其他任何内容。
答案 3 :(得分:0)
如果我没错,那么当你说
时while(cont==1)
你说,当它等于1时,继续,而cont永远不会是1。 您还必须将变量计数初始化为0。