9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
||||||
1 | ||||||
Сломал свой же калькулятор06.06.2019, 15:35. Показов 1312. Ответов 16
Метки нет (Все метки)
Тестировал курсовую, пилил отчет и тут вдруг 12/4=2. Я долго смотрел, высматривал, но так и не обнаружил, почему сломалась программа. Скажите, в чем проблема?
Я не знаю, что здесь сломалось, но суть в том, что при деление программа выводит результат на еденицу меньше от истинного. 12/4=2 800000000000000/2=39999999999999
0
|
06.06.2019, 15:35 | |
Ответы с готовыми решениями:
16
Пишу свой калькулятор Свой компонент от ListBox. Не могу задать свой тип для Items Как посадить свой домен на свой сайт, который на домашнем компе? Как установить свой текст подсказки при наведении на свой контрол? |
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
06.06.2019, 15:42 | 2 |
Сообщение было отмечено Pavlory как решение
Решение
1
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
|
06.06.2019, 15:43 [ТС] | 3 |
Toshkarik, уже сам нашел, но все равно спасибо
Там в двух ифах такая ошибка. Это, просто, курсовая и я чутка перенервничал)
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 15:53 | 4 |
Pavlory, ну и калькулятор у Вас что он должен делать ? просто складывать, вычитать, делить и умножать числа ? что подаётся на вход ?
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
|
06.06.2019, 16:39 [ТС] | 5 |
Yetty, это калькулятор длинных чисел.
После выбора функции пользователь обязательно вводит + или -(перед вводом самого числа), что бы программа поняла, положительное это число или отрицательное, и потом делает расчеты. Добавлено через 50 секунд Мне надо сделать так, что бы если число положительное, то плюс не нужно вводить с клавиатуры, но я не знаю, как это сделать, и на форуме мне помочь тоже не хотят А в принципе, калькулятор очень даже хорошо работает
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 16:55 | 6 |
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
||||||
06.06.2019, 18:03 [ТС] | 7 | |||||
Yetty, а если первый элемент минус? Число хранится в массиве символов, соответственно минус будет участвовать в сложение, деление и т.д., соответственно программа будет ломаться.
Добавлено через 10 минут Yetty,
Может вы поможете мне это сделать? А то в отдельное теме меня игнорили.
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 18:34 | 8 |
Pavlory, я код не разбирал. какие числа там задействованы - без знака ? сформулируйте более чётко что именно нужно сделать ?
ещё лучше если приведёте пример, что вводится, что нужно получить и что не устраивает.
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
|
06.06.2019, 18:59 [ТС] | 9 |
Yetty, ничего сложного, просто внимательно читайте.
Имеются две переменные типа char znaka and znakb. Они нужны для того, что бы калькулятор считал с отрицательными числами. И на данный момент эти две переменные обязательно вводить с клавиатуры(+ или -). Если пользователь вводит, например, -10, то - это переменная znak, а 10 - уже массив символов. Если вводить отрицательное число, то будет также +10, где + - это переменная. А нужно сделать так, что бы если мы хотим положительное число ввести, то не надо вводить +10, нужно ввести просто 10 и программа сама поняла, что znak = '+'. Сейчас мы записываем так: +10+(+10)... А нужно так: 10+10.
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 19:36 | 10 |
Pavlory, повторюсь: вводите переменную как массив символов, например -10 и 10, затем:
if (a[0]=='-') char znak='-'; остальные символы (кроме a[0]) - строковая запись числа else char znak='+'; все символы - строковая запись числа лучше конечно не znak (транслит), а sign (sign_a, sign_b)
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
|
06.06.2019, 19:45 [ТС] | 11 |
Как реализовать эту строковую запись числа?
У меня в функции передает весь массив, и этот минус будет там фигурировать и ломать расчеты?
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 20:14 | 12 |
рекомендовал бы всё поменять, начиная с замены статических массивов на динамические, определитесь с переменными ввода-вывода (в С++ это count и cin). На каком языке С или С++ нужно написать программу ?
это я не советую, но например переписать в другой массив без первого элемента, если первый '-'. сначала скажите - обязательно нужен char массив (char массив - это строки в C-стиле) ? Добавлено через 10 минут что означают эти точки ? калькулятор для двух чисел или их (чисел) может быть больше ?
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
||||||
06.06.2019, 20:17 [ТС] | 13 | |||||
Переписать не могу, т.к. я скачал этот калькулятор из интернета и понятия не имею, как работают алгоритмы
Перезаписывать я пробовал, но у меня не получалось, мб я неправильно это делал?
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 20:27 | 14 |
похоже не самый удачный вариант
я не про алгоритмы, а про ввод и вывод - какая-то смесь из С и С++ Pavlory, на каком языке у Вас задание написать код ?
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
||||||
06.06.2019, 20:39 [ТС] | 15 | |||||
Ну, мы в коледже учим Сишку с элементами С++
Добавлено через 2 минуты Это я поленился дальше писать. Калькулятор только для двух чисел. Добавлено через 7 минут Еще один момент: препод говорил сделать так, что бы в массив вводили только числа, я решил добавить условие
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
06.06.2019, 20:39 | 16 |
Pavlory, если в основе С, на форуме есть раздел С https://www.cyberforum.ru/c-beginners/
скорее всего терминальный ноль нужно добавить, попробуйте поменяйть i < na на i <= na
0
|
9 / 4 / 2
Регистрация: 29.11.2018
Сообщений: 215
|
|
06.06.2019, 20:42 [ТС] | 17 |
Этот код тоже подойдет, я показывал преподу, он одобрил, просто сказал кое-что доделать.
0
|
06.06.2019, 20:42 | |
06.06.2019, 20:42 | |
Помогаю со студенческими работами здесь
17
В свой div свой текст, класс один и тот же Сломал Сломал пк Сломал STM32F100 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |