2014-10-09 69 views
0

用戶選擇他們的比薩後,他們不能選擇他們的訂單,因爲缺少訂單的菜單。側面訂單菜單沒有彈出

循環有什麼問題嗎?

懷疑在循環時會有什麼關係。

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; 
} 
+1

很好,就是續== 1? – zubergu 2014-10-09 13:30:25

+0

int cont; //初始化爲0 – 2014-10-09 13:35:25

+0

這是本地的,所以它不會被初始化爲任何東西。 – 2014-10-09 13:38:49

回答

0

如果你有生產線int cont;,請用int cont=1;替換。 cont將有不確定的值,所以你永遠不會進入循環設置爲其他任何東西。

+0

如果它是自動存儲,則不會。 – 2014-10-09 13:39:33

+0

@ Yann4你的回答非常有幫助!謝謝 – JazliPa 2014-10-09 14:03:32

+0

如果有幫助的話,考慮接受它(點擊它旁邊的勾號),因爲如果答案回答了您的問題,那麼這是完成的事情。 @JazliPa – Yann 2014-10-09 14:05:23

3

在這裏,您沒有給出cont變量的值,所以while循環無法正常工作。

+0

謝謝..我忘了分配變量cont..my的起始值 – JazliPa 2014-10-09 14:00:42

0

如果我沒有錯,當你說

while(cont==1) 

你說,而續它等於1,繼續和續從不1 你必須初始化變量計數0也是。

+0

是啊..我忘了分配它的價值..感謝@ dacastro4 – JazliPa 2014-10-09 14:01:34

1

我覺得有一些錯誤:

  1. 你應該初始化續變量設置爲1
  2. 你應該添加一個破裂機構,while循環的內部,以便從中
  3. 逃脫你應該再次在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; 
}