2015-10-23 44 views
-1

我正在完成一項任務。我遇到的問題是每當我嘗試運行我的程序以查看它顯示的內容時,在命令提示符下都沒有顯示出來。但是,如果我按任意鍵然後進入,程序將開始循環無法控制。該程序甚至不顯示最初的cout消息,只是一個閃爍的「_」。謝謝程序編譯但不顯示

#include <cmath> 
#include <cstdlib> 
#include <iostream> 

using namespace std; 
void PizzaMenu(); 
void SizePrices(); 
int main() 
{ 
    double personal = 10.00; 
    double medium = 14.50; 
    double large = 19.00; 
    double xlarge = 23.50; 
    double FlavorChoice=0; 
    int SizeChoice; 

    int PizzaCountP=(cin >> PizzaCountP, PizzaCountP); 
    int PizzaCountM = (cin >> PizzaCountM, PizzaCountM); 
    int PizzaCountL = (cin >> PizzaCountL, PizzaCountL); 
    int PizzaCountXL = (cin >> PizzaCountXL, PizzaCountXL); 
    double orderTotal = (personal * PizzaCountP) + (medium * PizzaCountM) + (large * PizzaCountL) + (xlarge * PizzaCountXL); 




    cout << "Welcome to Joes pizza place!" << endl; 


    do{ 
     PizzaMenu(); 
     cout << "\nPlease chose a pizza from the menu(1-6): "; 
     cin >> FlavorChoice; 

     SizePrices(); 
     cin >> SizeChoice; 
     if (SizeChoice > 0 && SizeChoice < 5) 
     { 
      switch (SizeChoice) 
      { 

      case 1: 
      cout << "How many personal pizzas? "; cin >> PizzaCountP; 
      break; 
      case 2: 
      cout << "How many medium pizzas?"; cin >> PizzaCountM; 
      break; 
      case 3: 
      cout << "How many large pizzas?"; cin >> PizzaCountL; 
      break; 
      case 4: cout << "How many extra large pizzas?"; cin >> PizzaCountXL; 
      break; 
      default: cout << "please enter a choice (1-4)"; cin >> SizeChoice; 
      break; 
      } 
     } 
     if (PizzaCountP > 0 || PizzaCountM > 0 || PizzaCountXL > 0 || PizzaCountL > 0) 
     { 
      printf("Your total is: %a", orderTotal); 
     } 
    } while (FlavorChoice != 6); 

    cout << "Thank you for visiting Joes place pizza! "<<endl; 
} 



void PizzaMenu() 
{ 
    cout << "\nSpecialty Pizza Menu" << endl; 
    cout << "\n1)Pizza 1" << endl << "\n2)Pizza 2" << endl << "\n3)Pizza 3" <<endl << "\n4)Pizza 4" << endl << "\n5)Pizza 5" << endl << "\n6)Pizza 6" << endl; 
} 

void SizePrices() 
{ 
    cout << "1) 10'' Personal" << "\t" << "- $10.00" << endl; 
    cout << "2) 14'' Medium" << "\t" << "- $14.50" << endl; 
    cout << "3) 16'' Large" << "\t" << "- $19.00" << endl; 
    cout << "4) 18'' Extra Large" << "\t" << "- $23.50" << endl; 
    cout << "Your choice (1-4)? "; 
} 
+1

什麼是你想用'INT PizzaCountP =(CIN >> PizzaCountP,PizzaCountP)做;'? – NathanOliver

+0

我試圖將PizzaCountP的值設置爲用戶輸入的值。感謝您指出了這一點,我將其更改爲「= 0」,並運行,但我無法顯示orderTotal值。它一直顯示0,我不知道爲什麼。 –

+1

調試器.............. –

回答

0

程序中有幾個邏輯錯誤。現在,它應該工作的罰款...

#include <cmath> 
#include <cstdlib> 
#include <iostream> 

using namespace std; 

void PizzaMenu() 
{ 
    cout << "Specialty Pizza Menu:" << endl; 
    cout << "1) Pizza 1" << endl << "2) Pizza 2" << endl << "3) Pizza 3" << endl << "4) Pizza 4" << endl << "5) Pizza 5" << endl << "6) Exit" << endl; 
} 

void SizePrices() 
{ 
    cout << "Size Prices:" << endl; 
    cout << "1) 10'' Personal" << "\t" << "- $10.00" << endl; 
    cout << "2) 14'' Medium" << "\t" << "- $14.50" << endl; 
    cout << "3) 16'' Large" << "\t" << "- $19.00" << endl; 
    cout << "4) 18'' Extra Large" << "\t" << "- $23.50" << endl; 
    cout << "Your choice (1-4)? "; 
} 

int main() 
{ 
    double personal = 10.00; 
    double medium = 14.50; 
    double large = 19.00; 
    double xlarge = 23.50; 
    int FlavorChoice = 0; 
    int SizeChoice = 0; 

    int PizzaCountP = 0; 
    int PizzaCountM = 0; 
    int PizzaCountL = 0; 
    int PizzaCountXL = 0; 
    double orderTotal = 0.0; 

    cout << "Welcome to Joes pizza place!" << endl; 

    cout << "Please choose from the main menu(1-6): " << endl; 

    PizzaMenu(); 

    cin >> FlavorChoice; 

    while(FlavorChoice != 6) {  

     SizePrices(); 

     cin >> SizeChoice; 

     if (SizeChoice > 0 && SizeChoice < 5) 
     { 
      switch (SizeChoice) 
      { 

      case 1: 
       cout << "How many personal pizzas? "; 
       cin >> PizzaCountP; 
       orderTotal += personal * PizzaCountP; 
       break; 
      case 2: 
       cout << "How many medium pizzas?"; 
       cin >> PizzaCountM; 
       orderTotal += medium * PizzaCountM; 
       break; 
      case 3: 
       cout << "How many large pizzas?"; 
       cin >> PizzaCountL; 
       orderTotal += large * PizzaCountL; 
       break; 
      case 4: cout << "How many extra large pizzas?"; 
       cin >> PizzaCountXL; 
       orderTotal += xlarge * PizzaCountXL; 
       break; 
      default: cout << "please enter a choice (1-4)"; 
       cin >> SizeChoice; 
       break; 
      } 
     } 

     // orderTotal = (personal * PizzaCountP) + (medium * PizzaCountM) + (large * PizzaCountL) + (xlarge * PizzaCountXL); 

     if (PizzaCountP > 0 || PizzaCountM > 0 || PizzaCountXL > 0 || PizzaCountL > 0) 
     { 
      // printf("Your total is: %a", orderTotal); 
      cout << "Your total is: $" << orderTotal << endl; 
     } 

     cout << "Please choose from the main menu(1-6): " << endl; 

     PizzaMenu(); 

     cin >> FlavorChoice; 

    } 

    cout << "Thank you for visiting Joes place pizza! " << endl; 

    // system("pause"); 
    return 0; 
} 
相關問題