|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.04.2017, 15:22 | #1 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Типа калькулятор
Здравствуйте!
Подскажите пожалуйста, почему у меня калькулятор выдаёт итоговый результат равный "1" при таких вот данных числитель первой дроби = 2 знаменатель первой дроби = 3 числитель второй дроби = 2 знаменатель второй дроби = 3 знак между дробями "+" Проводил отладку смотрел по действиям, но черт возьми в последний момент s=1!!!! Код:
Последний раз редактировалось Аватар; 30.04.2017 в 16:25. |
30.04.2017, 15:34 | #2 |
Форумчанин
Регистрация: 03.03.2013
Сообщений: 102
|
Округляется результат. Замените тип данных числителя и знаменателя в структуре на double и вводите
2.0, 3.0 Последний раз редактировалось Haric_110; 30.04.2017 в 15:37. |
30.04.2017, 15:35 | #3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Потому что при деление целого на целое получается целое. Приводите хотя бы одно из них к вещественному.
|
30.04.2017, 16:05 | #4 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Но ведь s у меня вещественное, там операция присвоения происходит.. Как так то?..
|
30.04.2017, 16:13 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Сначала произойдет деление целого на целое, а потом целый результат приведется к вещественному.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
30.04.2017, 16:22 | #6 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Ясно. Спасибо, сделал. float применил, всё работает как надо. (кстати, вводил простые цифры, не 2.0 и 3.0)
Последний раз редактировалось KAMLS; 30.04.2017 в 16:26. Причина: уточнение |
30.04.2017, 16:47 | #7 |
Форумчанин
Регистрация: 03.03.2013
Сообщений: 102
|
Ну, если тип переменной задан, то можно вводить простые, да. Но в выражениях, содержащих отношение необходимо, чтобы хотя бы одно из операндов (чисел) отношения было в формате double (1.0) или float (1f). Это на будущее)
Последний раз редактировалось Haric_110; 30.04.2017 в 16:49. |
30.04.2017, 16:57 | #8 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
|
30.04.2017, 17:05 | #9 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Круты чуваки, всегда приятно видеть реальную помощь и не хотение халявы)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сделать из числа типа real число типа integer? | gylayko | Помощь студентам | 6 | 15.09.2012 11:41 |
Возможно ли в массив типа char записать первым элементом значение переменной типа float? | Green Gin | Общие вопросы C/C++ | 2 | 05.12.2011 01:50 |
Каким образом сохранить цвет. Типа в переменную типа TColor ? | serres | C++ Builder | 5 | 07.12.2010 16:19 |
Запись числа типа инт в ячейку двумерного массива типа char | AxenicX | Помощь студентам | 1 | 25.09.2009 00:35 |