當下面的代碼來到cin語句:如果我輸入-1,它仍然運行我的invalidSelectorError()發現最後其他如果部分...即使該部分應該通過如果mainMenuSelector等於-1。奇怪的,如果陳述行爲
爲什麼?
(順便說一句,invalidSelectorError()運行後,while循環包圍的一切工作和程序終止如預期。)
int mainMenuSelector;
while(mainMenuSelector != -1){
cout << "--- MAIN MENU -----------------" << endl;
cout << "[1] Create New Contact" << endl;
cout << "[2] View Existing Contacts" << endl;
cout << "[3] View or Edit Data Fields" << endl;
cout << "-------------------------------" << endl;
cout << "Or just press ENTER to quit." << endl;
cout << "-------------------------------" << endl;
cout << "Selection: ";
mainMenuSelector = -1;
cin >> mainMenuSelector;
cin.ignore();
if(mainMenuSelector == 1){
contactCreator();
}else if(mainMenuSelector == 2){
contactViewer();
}else if(mainMenuSelector == 3){
dataFieldViewer();
}else if(mainMenuSelector != 1 ||
mainMenuSelector != 2 ||
mainMenuSelector != 3 ||
mainMenuSelector != -1
){
invalidSelectorError();
}
}
return 0;