私は計算プログラムを作成しようとしています。このプログラムが実行されると、ユーザーに別の計算を行うかどうかを尋ねます。これは、メイン関数の適切なポイントで呼び出される別個の関数の形式を持っています。
char repeatcalc(char y){
cout << "Would you like to perform another calculation? [Y]es/[N]o" << endl;
cin >> y;
if(y == 'Y' || y == 'y'){
return y == 'y';
}
else if(y == 'N' || y == 'n'){
return y == 'n';
}
else{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
repeatcalc(y);
}
}
つまり、ユーザーがボタンを押すと、関数は「y」、「n」のいずれかを返すか、それ自体を繰り返します。次に、これはメイン関数のwhileループにフィードバックされます。このループは、「y」が返されると繰り返され、「n」が返されると終了します。
上記の関数の繰り返しセクションは、メインコードで機能し、「y」が返されますが、「n」が選択されている場合は、とにかく「y」が返されるようです。
明らかなものが欠けていますが、何がわからないのです!助言がありますか?
ありがとう。