最初にメニューがポップアップし、ユーザーが購入できるアイテムのリストが表示されます。次に、ユーザーはアイテムをチェックアウトするか、ショッピングを続けるかを尋ねられます。ユーザーが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);
}
デバッガをオフにしてコードをステップ実行すると、その理由がわかります。 – tadman
@tadman正直なところ、私が間違っていることは分かりません。私のコードは、私が望むように動作するはずですが、そうではありません。 – iluusion
そして、デバッガでステップを進めることで、それを解決するのに役立ちます。 – user4581301