Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2012, 04:15   #1
_CG
 
Аватар для _CG
 
Регистрация: 10.05.2012
Сообщений: 3
Восклицание Использовать библиотечные функции на выбор atoi (), atof (), strpbrk (), strcspn (), strtod (), strtol ()...

Заранее спасибо!!!
С++.
Дано выражение без скобок, в котором встречаются операции +,-* и /.
Вычислить значение выражения с учетом приоритета выполнения операций.
Например, для выражения 11+100 * 5 должны получить 511.
Использовать библиотечные функции на выбор atoi (), atof (), strpbrk (), strcspn (), strtod (), strtol ().


Мой исходник, так сказать, но не пойму никак, как же расставить приоритеты операций?!! В данном коде операции над выражением "11+100*5" выполняются последовательно (то есть рез.= 555), а как бы сделать так, чтобы учитывались приоритеты операций с помощью библиотечных функций..(см. выше)???

#include<iostream>
using namespace std;

void main()
{
char a[20]={"11+100*5"};
puts(a);
double res=0,num;
char *stop;
res=num=strtod(a,&stop);
while(num)
{
if(*stop=='*')
res*=num=strtod(stop+1,&stop);

if(*stop=='+')
res+=num=strtod(stop+1,&stop);
if(*stop=='\0')
break;
}
cout<<"Res.: "<<res<<"\n";
}


Последний раз редактировалось _CG; 10.05.2012 в 07:22. Причина: Дополнение.
_CG вне форума Ответить с цитированием
Старый 10.05.2012, 07:00   #2
vitali0
 
Регистрация: 27.09.2010
Сообщений: 5
По умолчанию

И что нам в этим делать? Ты сам напиши хоть что-нибудь, а здесь помогут исправить ошибки
vitali0 вне форума Ответить с цитированием
Старый 10.05.2012, 07:27   #3
_CG
 
Аватар для _CG
 
Регистрация: 10.05.2012
Сообщений: 3
Стрелка

Написал.
_CG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
atof PinkPink Помощь студентам 3 19.02.2012 17:36
аналог функции strcspn на си и/или pascal tim47 Помощь студентам 0 20.12.2011 17:10
С++. Операция atof Blad47 Помощь студентам 5 17.10.2010 17:31
Функция strcspn в Visual Studio werser Помощь студентам 5 14.05.2010 16:46
проблема с функцией atoi Darw1n Общие вопросы C/C++ 2 08.10.2008 23:21