2017-12-11 4 views
-2

最初にメニューがポップアップし、ユーザーが購入できるアイテムのリストが表示されます。次に、ユーザーはアイテムをチェックアウトするか、ショッピングを続けるかを尋ねられます。ユーザーがmenu()の代わりにプロンプ​​トが表示された後に「no」と入力すると、それらをメニューに戻すために呼び出されます。何も起こりません。私はコンソールに入力することができますが、何も表示されません。必要であれば、ここファンクションコールは機能しませんが、コンソールは引き続き入力を許可します。

cout << "Would you like to checkout?" << endl; 
cout << "Type 'yes' to continue or 'no' to keep shopping." << endl; 
cin >> answer; 

if (answer == "yes") { 
    checkout(mpadNum, mouseNum, hsetNum, keyboardNum, laptopNum, pcNum); 
} 
else if (answer == "no") { 
    menu(mpadNum, mouseNum, hsetNum, keyboardNum, laptopNum, pcNum); 
} 

は、メニュー機能の一部のためのコードである:

void menu(int mpadNum, int mouseNum, int hsetNum, int keyboardNum, int laptopNum, int pcNum) { 

int *mpadQty; 
string answer; 
string option; 

if (file.is_open()) { 
    cout << file.rdbuf(); 
} 
cout << " " << endl; 
cout << "What would you like to purchase?" << endl; 
cout << "Please type your selection." << endl; 
cin >> option; 

if (option == "mousepad") { 
    cout << "How many mousepads would you like?" << endl; 
    cin >> mpadNum; 
} 
mpadQty = new int(mpadNum); 
mpadAmnt += *mpadQty; 

cout << "Your selection has been added to the cart" << endl; 
cout << "Type anything to continue." << endl; 
cin >> answer; 
cart(mpadNum, mouseNum, hsetNum, keyboardNum, laptopNum, pcNum); 

}

+2

デバッガをオフにしてコードをステップ実行すると、その理由がわかります。 – tadman

+0

@tadman正直なところ、私が間違っていることは分かりません。私のコードは、私が望むように動作するはずですが、そうではありません。 – iluusion

+1

そして、デバッガでステップを進めることで、それを解決するのに役立ちます。 – user4581301

答えて

0

ここ

は異なる関数である質問するためのコードでありますここにデバッグヒントがあります。あなたのラインcin >> answerの後にanswerを印刷してみてください。

cout << "answer->" << answer << "<-" << endl; 
+0

ヒントをお寄せいただきありがとうございます。私の「はい」答えが働く。しかし、私が「いいえ」とタイプすると答えは出るが、menu()は呼び出されない。私は間違って何をしているのか本当にわからない。 – iluusion

関連する問題