永发信息网

求用VC++6.0编写的计算器源代码

答案:1  悬赏:40  手机版
解决时间 2021-02-26 22:28
  • 提问者网友:聂風
  • 2021-02-26 16:06
能进行多则运算,如1+2*3/6=2
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-02-26 17:42
(1)

#include
using namespace std;

int main()
{
float num1,num2;
char ch;

begin:

cout<<"请输入第1个数:\n";
cin>>num1;
cout<<"请输入运算符:\n";
cin>>ch;
cout<<"请输入第2个数:\n";
cin>>num2;

switch(ch)
{
case '+':
cout<<"结果:"< break;
case '-':
cout<<"结果:"< break;
case '*':
cout<<"结果:"< break;
case '/':
if(int(num2)!=0)
{
cout<<"结果:"< }
else
{
cout<<"除数不能为0,请重新输入.\n";
goto begin;
}
break;

default:
cout<<"你输入的运算符错误,请重新输入.\n";
goto begin;
}
getchar();
return 0;
}
(2)

#include
#include
using namespace std;

int main()
{
char num1[50];
char num2[50];
char ch;
int n=0;
int i=0;
float count=0;
string inStr;

begin:
cout<<"请输入:";
cin>>inStr;

memset(num1,0,50);
memset(num2,0,50);

for(i=0; inStr[i]!='\0'; i++)
{
if(inStr[i]=='+' ||inStr[i]=='-' ||inStr[i]=='*' ||inStr[i]=='/' )
{
break;
}
else
{
num1[i]=inStr[i];
}
}

ch=inStr[i];
i++;

for(; inStr[i]!='\0'; i++)
{
if(inStr[i]=='+' ||inStr[i]=='-' ||inStr[i]=='*' ||inStr[i]=='/' )
{
break;
}
else
{
num2[n]=inStr[i];
n++;
}
}

switch(ch)
{
case '+':
count=float(atoi(num1))+float(atoi(num2));
break;
case '-':
count=float(atoi(num1))-float(atoi(num2));
break;
case '*':
count=float(atoi(num1))*float(atoi(num2));
break;
case '/':
if(atoi(num2)!=0)
{
count=float(atoi(num1))/float(atoi(num2));
}
else
{
cout<<"除数不能为0"< goto begin;
}
break;
}

cout<<"结果是:"< }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯