好的。所以我不久前写了一个公式计算器,它有很多不同的功能。我今天打开它,发现每次我访问某个功能并完成该功能时,程序都会返回主菜单。当然这很好,我对其进行了编程来执行此操作,但是当我访问计算器功能(简单数学)并完成一个方程式时,我很生气,我不能马上做另一个。我希望能够停留在某个功能中,直到我按下“q”,然后它会返回主菜单。
真正的问题是我的函数只接受双精度,所以如果我输入一个字符串('q'),程序就会崩溃。我需要一种让用户输入字符串或双精度的方法,以便我可以检查它是否是“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”。对不起所有的话。