محاسبه عبارت ریاضی که به صورت رشته ای وارد شده
سوال
سلام
یه برنامه به زبان سی پلاس پلاس می خوام که یک عبارت رشته ای مثل =۴۵+۲۳ رو از ورودی بگیره و عملیات محاسباتی رو براساس عملگر داخل عبارت انجام بده (عملگرها شامل + ، * ، -)
حل شده
2
انجمن برنامه نویسان ++C
5 سال
2 پاسخ ها
2353 دیده شده
5
پاسخ ها ( ۲ )
سلام وقت بخیر
اینم جواب سوال شما ، تو این برنامه من از یک تابع برای چک کردن رشته استفاده کردم که فقط چک میکنه کارکتر های داخل رشته شامل ارقام و یا عملگرهای +، -، * و یا = باشه که شما می تونید این بررسی رو بیشتر کنید تا از بروز خطاهای احتمالی جلوگیری کنید
استاد من همچین چیزی نوشتم به نظرتون خوبه یا نه
#include
#include
using namespace std;
int main()
{
char add[100];
long int num1 = 0, num2 = 0;
int al = 10;
int temp;
int i;
cout << "Write ( = ) to endnEnter your number : ";
for (i = 0; i < 100; i++)
{
add[i] = getche();
if (add[i] == '=' || add[i] == 'n')
break;
}
for (int j = 0; j = ‘0’ && add[j] <= '9')
temp = add[j] – 48;
if (j al)
{
num2 *= 10;
num2 += temp;
}
}
if (add[al] == ‘+’)
cout << " " << num1 + num2;
if (add[al] == '-')
cout << " " << num1 – num2;
if (add[al] == '*')
cout << " " << num1 * num2;
if (add[al] == '/')
cout << " " << num1 / (float)num2;
return 0;
}