Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Turbo C++ v.3.0, графический режим 
:(
    Опции темы
Серега
Дата 23.10.2004, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Начну попорядку. В универе мне дали задачку, нерешив которую я могу вылететь с универа в два счета! Все бы ничего, но преподователь очень скупой на объяснения :rtfm - все что я сумел из него выудить будет изложено чуть ниже. Суть программы: составить программу на языке программирования с++, реализующую работу калькулятора, использующего обратную польскую запись. Например:13 28 + или 13 28 1.2 + /.Программа калькулятор должна выполнять четыре арифметических действия и вычислять значения функций синус, косинус, натуральный логарифм и экспоненту. Предусмотреть выдачу сообщений об ошибках при возникновении следующих аварийных ситуаций: деление на ноль и вычисление логарифма неположительного числа. :qstn
Честно говоря я не могу допереть что такое польская запись !
Весь С++ облазил, не могу найти как войти в графический режим через который нужно нарисовать калькулятор - все это происходит только на Turbo C++ v.3.0 под DOS !
[b]Помогите начинающему программисту - подскажите, дайте сслочки на данный материал, а то я уже всех знакомых опросил и кучу книг просмотрел - ничего о польском калькуляторе даже слова ненашел !
Если можно поподробнее, буду очень рад если выложите весь код программы ! :sample
Заранее благодарен !
[/b]
PM MAIL   Вверх
mr.DUDA
Дата 23.10.2004, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Похоже, что под польской записью имеется ввиду порядок ввода информации. Например, для вычисления "2+3", нужно ввести сначала "2", потом "3", потом "+". Другими словами, операнды для вычисления выражения помещаются в стек, а операция достаёт их из стека парами (либо только один - как в случае логарифма, синуса и т.п.).


--------------------
user posted image
PM MAIL WWW   Вверх
Step
Дата 23.10.2004, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



кстати по подобной теме уже был разговор только не помню как тема называеться


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
oleg1973
Дата 23.10.2004, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34





--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 24.10.2004, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



А что, обязятельно в графическом режиме делать? Может преподу еще с мышью надо? :D

Это сообщение отредактировал(а) Perchilla - 24.10.2004, 03:08
PM MAIL   Вверх
Серега
Дата 24.10.2004, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Да, :rtfm в том все и дело, что ему еще и мышь нужна. Кнопки то нажимать как-то надо ! :stena
PM MAIL   Вверх
Серега
Дата 24.10.2004, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Ну че, я смотрю не кто не жаждет мне помогать :( ?
Похоже меня всетаки сгребут в армейку :( !
Может кто-нибудь знает где можно заказать праграмму ? :sample
PM MAIL   Вверх
S.A.P.
Дата 24.10.2004, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Серега а в чем, собственно, проблема в понимании польской записи, или в программировании интерфейса?
PM MAIL   Вверх
Crait
Дата 24.10.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 244
Регистрация: 20.2.2003

Репутация: нет
Всего: 1



Вот, лови

Код

   int switch_to_graph_mode()
   {
       int gdriver = DETECT;
       int gmode, errorcode;

       initgraph (&gdriver, &gmode, "");
       errorcode = graphresult();

       if (errorcode == grOk)
           return 1;

       //dbg_log.printf("Graphics error: %s", grapherrormsg(errorcode));
       return 0;
   }

   void switch_to_text_mode()
   {
       closegraph();
   }


Цитата
Может кто-нибудь знает где можно заказать праграмму ?

Вот если б на Билдере можно было...
А в досе неохота с кнопочками возиться...

Это сообщение отредактировал(а) Crait - 24.10.2004, 19:03
PM MAIL   Вверх
Orion
Дата 25.10.2004, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.10.2004
Где: Novosibirsk

Репутация: нет
Всего: нет



Возьми BC++ 3.1, там просто готовый пример калькулятора.
PM MAIL   Вверх
Серега
Дата 25.10.2004, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Вся проблема в том, что я не могу войти в режим "рисования" калькулятора, поддержка мыши и т.п. :stena Блин, попал к преподу- дамал классный мужик, а он .... :rtfm :angry:
Кстати Орион где твм калькулятор взять можно. :qstn
А в интернете никто не знает где по этому вопросу информации наловить можно ? :qstn
PM MAIL   Вверх
12
Дата 26.10.2004, 09:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Все просто, прямо с дистрибутивом идут примеры, в них и должен быть калькулятор. Orion тебе об этом уже сказал. Ну и к тому же задачка то ... :( могбы и сам что нидь зафантазировать.
  Вверх
Orion
Дата 26.10.2004, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.10.2004
Где: Novosibirsk

Репутация: нет
Всего: нет



Обычно вот тут :-)


Directory of D:\BC\EXAMPLES\TCALC

. <DIR> 29/03/00 18:17
.. <DIR> 29/03/00 18:17
TCALC C 3 626 10/06/92 3:10
TCALC DOC 2 178 10/06/92 3:10
TCALC H 7 791 10/06/92 3:10
TCALC PRJ 5 792 10/06/92 3:10
TCDISPLY C 6 692 10/06/92 3:10
TCINPUT C 4 233 10/06/92 3:10
TCOMMAND C 18 982 10/06/92 3:10
TCPARSER C 12 234 10/06/92 3:10
TCUTIL C 15 130 10/06/92 3:10
TCALC MAK 1 043 04/11/02 11:33
12 file(s) 77 701 bytes

PM MAIL   Вверх
Серега
Дата 27.10.2004, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Помогите ! :stena Кто-нибудь знает ссылки интернета по этой теме - поделитесь ! :)
PM MAIL   Вверх
Mikel47
Дата 27.10.2004, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 18.9.2004

Репутация: нет
Всего: нет



Обратная (постфиксная) польская запись — очень удобная для вычисления выражений форма записи операций и операндов. Эта форма предусматривает, что знаки операций записываются после операндов. Обратная польская запись — это постфиксная запись операций. Она была предложена польским математиком Я. Лукашевичем. В этой записи знаки операций записываются непосредственно за операндами. По сравнению с обычной (инфиксной) записью операций в польской записи операнды следуют в том же порядке, а знаки операций — строго в порядке их выполнения. Польская запись не требует учитывать приоритет операций, в ней не употребляются скобки, и в этом ее основное преимущество. Она чрезвычайно эффективна в тех случаях, когда для вычислений используется стек. Главный недостаток обратной польской записи также проистекает из метода вычисления выражений в ней: поскольку используется стек, то для работы с ним всегда доступна только верхушка стека, а это делает крайне затруднительной оптимизацию выражений в форме обратной польской записи. Практически выражения в форме обратной польской записи почти не поддаются оптимизации. Обратная польская запись была предложена первоначально для записи арифметических выражений, но не только. В компиляторе можно порождать код в форме обратной польской записи для вычисления практически любых выражений. Для этого достаточно ввести знаки, предусматривающие вычисление соответствующих операций. Вычисление выражений в обратной польской записи идет элементарно просто с помощью стека. Для этого выражение просматривается в порядке слева направо, и встречающиеся в нем элементы обрабатываются по следующим правилам: 1. Если встречается операнд, то он помещается в стек (попадает на верхушку стека).
2. Если встречается знак унарной операции (операции, требующей одного операнда), то операнд выбирается с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека).
3. Если встречается знак бинарной операции (операции, требующей Двух операндов), то два операнда выбираются с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека). Вычисление выражения заканчивается, когда достигается конец записи выражения. Результат вычисления при этом всегда находится на верхушке стека.
------------------------------------------------------------------------------------------------
PM MAIL   Вверх
Серега
Дата 29.10.2004, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Ладно, с поляками я вроде разобрался, а вот как зайти в режим поподробнее напишите не могу войти и в инете ничего не нашел ! :qstn
PM MAIL   Вверх
Mikel47
Дата 29.10.2004, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 18.9.2004

Репутация: нет
Всего: нет



Ну тебе же Crait все написал, что еще то нужно?
PM MAIL   Вверх
Серега
Дата 14.11.2004, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Crait это вход в графический режим ? у меня ничего не происходит !
А вообще что должно быть ? Типа paint или рисовать коммандами, если да то какими ? smile
PM MAIL   Вверх
Crait
Дата 18.11.2004, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 244
Регистрация: 20.2.2003

Репутация: нет
Всего: 1



Цитата
у меня ничего не происходит !

А что должно происходить на твой взгляд smile
Да, switch_to_graph_mode() - переключение в графический режим,
switch_to_text_mode() - соответственно, в текстовый.
Если не будет получаться, скопируй egavga.bgi
в каталог твоей программы.
Какими рисовать командами ? - ты б в книжку, чтоли, заглянул,
или хотя бы в пример bgidemo, что идет вместе с компилятором.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.