برنامه ای بنویسید که دو عدد و یک نوع عملگر را از ورودی خوانده و عملگرهای + و - و / و * و ^ را روی ان انجام دهد
مثلا اگر کاربر 4+6 رو وارد کرد 10 نشون بده.
0
#include<iostream.h>
#include<math.h>
void main()
{
float a,b;char op;;
cin>>a;
cin>>op;
cin>>b;
switch (op)
{
case '*':cout<<"="<<a*b; break ;
case '/':cout<<"="<<a/b; break ;
case '+':cout<<"="<<a+b; break ;
case '-':cout<<"="<<a-b; break ;
case '^':cout<<"="<<pow(a,b); break ;
}
cout<<endl;
}
0
ممنون
نمیشه کاری کرد که عدد ها و عملگر تو یه مرحله دریافت بشه؟
0
سلام
بله میشه اینو ببینید
//simple calc
//softafzar.net
#include <iostream>
#include <string>
#include <math.h>
int main()
{
std::cout<<"Enter First number+operator+second number e.g. 4^2: ";
std::string str;
std::cin >> str;
//find operation
unsigned find = str.find_first_of("+-/*^");
if (find!=std::string::npos)
//if an operation found
{
//show first number
std::string str1 = str.substr(0, find);
std::cout << str1;
//show operation
char op = str[find];
std::cout << op;
//show second number
std::string str2 = str.substr(find + 1);
std::cout << str2;
//convert string to double
double a = atof(str1.c_str());
double b = atof(str2.c_str());
std::cout<<"=";
switch (op)
{
case '*':
std::cout<< a * b;
break;
case '/':
std::cout<< a / b;
break;
case '+':
std::cout<< a + b;
break;
case '-':
std::cout<< a - b;
break;
case '^':
std::cout<< pow(a, b);
break;
}
std::cout << '\n';
}
else{std::cout<<"Error:incorrect format\n";}
return 0;
}
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!