Тема: Проблема з обчисленням в С++
Вот ми маємо таку задачку:
вводимо якісь цифри + знаки арифметичних операцій(тільки + і -): 5+4-7+10-3
і щоб результаті воно розпізнавало ці знаки операції і програма сама їх додавала, тобто:
5+4-7+10-3=9.
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE, "rus");
cout<<"Введите строку: ";
char a[100], *p, *znak1="+", *znak2="-";
int i=0, summa = 0;
cin>>a;
p=strtok(a, znak1); //умова для "+"
while (p)
{
int b = atoi(p);
if(*znak1)
{
summa+=b;
p=strtok(NULL, znak1);
}
else //<- ввів умову для "-", але як саме задати ще один
{ //strtok якраз для цього знака не представляю
summa-=b;
p=strtok(NULL, znak2);
}
}
cout<<a<<" = "<<summa<<'\n';
system("pause");
return 0;
}