私が持っているこの関数は、何も返さない別の関数を呼び出します。q が入力された場合、 while ステートメントは関数からの終了を許可する必要があります。機能していません。q または Q を入力すると、Thank you, goodbye と表示されます。その後、条件が満たされていないかのように切り替えを開始します。何か案は?
void Watch::userInteraction()
{
daysInMonthSwitch();
char answer;
while (answer != 'q' || answer != 'Q')
{
cout << "What would you like to do?" << endl;
cout << "Enter r to run." << endl;
cout << "Enter c to change time or date." << endl;
cout << "Enter q to quit." << endl;
cin >> answer;
switch(answer)
{
case 'r':
tick();
break;
case 'R':
tick();
break;
case 'c':
changeTimeOrDate();
break;
case 'C':
changeTimeOrDate();
break;
case 'q':
cout << "Thank you, goodbye";
break;
case 'Q':
cout << "Thank you, goodbye";
break;
default :
userInteraction();
}
}
}