わかった。そこで、私は少し前に、さまざまな機能を実行する数式計算機を作成しました。今日それを開いたところ、特定の機能にアクセスしてその機能を終了するたびに、プログラムがメイン メニューに戻ることに気付きました。もちろんこれは問題なく、これを行うようにプログラムしましたが、電卓機能 (簡単な数学) にアクセスして方程式を完成させたときにイライラして、すぐに次のことができませんでした。「q」を押すまで特定の機能にとどまりたいと思います。その後、メインメニューに戻ります。
本当の問題は、関数が double しか受け入れないため、文字列 ('q') を入力すると、プログラムがクラッシュすることです。ユーザーに文字列またはdouble のいずれかを入力させる方法が必要です。これにより、それが「q」であり、ユーザーが終了したいかどうかを確認できます。
最終的にはすべての関数でこれを実行したいのですが、ここでは "calc" 関数 (最も単純なもの) だけを示します。
int calculation()
{
double x=0, y=0, answer=0;
char o;//operator variable
cout<<"calculation: ";
cin>>x>>o>>y; //I just don't know what to use here so that the user can enter a
cin.ignore(); //double or a string.
if (o=='+') answer=x+y;
else if (o=='-') answer=x-y;
else if (o=='*') answer=x*y;
else if (o=='/') answer=x/y;
else if (o=='^') answer= pow(x, y);
else if (o=='%') {
answer= (100/x)*y;
cout<<"answer= "<<answer<<"%";
}
if (o!='%') cout<<"answer= "<<answer;
cin.get();
return 0;
}
ユーザーが単一の「q」を入力するまで繰り返し続ける機能が必要です。言葉ばかりですみません。