![]() |
|
Модераторы: Akina |
![]()
|
|
| ronny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.1.2012 Репутация: нет Всего: нет |
Привет всем! Создаю небольшой калькулятор, и вот уже появилась проблема... Не получается по нормальному реализовать регистр памяти (как
на стандартных калькуляторах).Сначала, я хотел просто сохранить число как переменную, но почему-то при вставке, если само число меньше 1, оно округляется в 0!!! Потом только что я ни пробовал, но в итоге - без результатов! В конце концов с помощью округление смог добиться каких-никаких результатов, но, допусти когда я делю 1 на 9, а потом умножаю на 9 число получается не цело (0.9999...) Может кто подскажет где и что я делал не так? Присоединённый файл ( Кол-во скачиваний: 5 )
___.zip 3,44 Kb |
|||
|
||||
| arcsupport |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
Надо использовать рациональные числа, т.е. хранить число в виде числителя и знаменателя.
|
|||
|
||||
| ronny |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.1.2012 Репутация: нет Всего: нет |
А как мне энта сделать? Подскажите, если не сложно...
Это сообщение отредактировал(а) ronny - 7.1.2012, 23:30 |
|||
|
||||
| arcsupport |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 24.10.2008 Репутация: нет Всего: 2 |
В рамках Вашей программы я сказать не могу, слишком уж там все наивно.
Пусть у Вас есть некоторое рациональное число, например 1234.5678. Тогда его можно представить как числитель 12345678 / знаменатель 10000. Все числа с десятичной точкой (запятой) преобразовываются в вид натуральной дроби. Действия над дробями (a, b -- числитель и знаменатель первой дроби A, c, d -- числитель и знаменатель второй B) Умножение: A * B = (a *c) / (b * d) Деление: A : B = (a * d) / (b * c) О сложении и вычитании подумайте, пожалуйста, сами. Помните, что у результата каждой операции надо сократить числ. и знам. на НОД(числ., знам.). И, кстати, я встречал реализацию этого в одной книге по VB5. Это сообщение отредактировал(а) arcsupport - 8.1.2012, 09:29 |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: -1 Всего: 16 |
У меня вообще не работают кнопки "М+" и "М-".
А если набрать вообще любое число (например 100), потом нажать MS и затем MR, то всегда выводится 0. (Непонятно, какая переменная используется для памяти d или e. Это сообщение отредактировал(а) iff - 8.1.2012, 13:33 -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |