Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 20.07.2017
Сообщений: 15
1

Ошибка: invalid operands of types 'double' and 'int' to binary 'operator%'

14.11.2017, 11:37. Показов 6492. Ответов 2

Я писал программу и решил скомпилировать. В этих строках возникли ошибки.
C++
1
2
n = rint((a / pow(10, i))) % 10;
o = a % rint(pow(10,i));
Ошибка: invalid operands of types 'double' and 'int' to binary 'operator%'
Ошибка: invalid operands of types 'double' and 'int' to binary 'operator%'

Я пытался превращать часть строк в целые, пробовал trunc, round и rint. Не помогало. Ошибка оставалась той же.
a, n, o, i - это int
a - шестизначное число (вводится)
i - от 1 до 6
Подключены библиотеки iostream и math.h
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2017, 11:37
Ответы с готовыми решениями:

invalid operands of types 'double' and 'int' to binary 'operator%'
В строке где If выдает вот эту ошибку 2 раза: invalid operands of types 'double' and 'int' to...

Ошибка "invalid operands of types double and int to binary operator"
#include <iostream> #include <math.h> using namespace std; int main() { float k; int...

invalid operands of types ‘double*’ and ‘double’ to binary ‘operator*’
#include "mpi.h" #include <stdio.h> #include <stdlib.h> #include <math.h> #define count 120...

Error: invalid operands of types 'float' and 'int' to binary 'operator%'
float n,m,k; cout << "Kiek vairotojas is sandelio turi parvezti deziu i parduotuve?: "; ...

2
802 / 529 / 157
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
14.11.2017, 11:44 2
cjv, там же написана суть ошибок, нужно чтобы по обе стороны от знака % были целочисленные операнды

перед каждым rint припиши (int)
1
0 / 0 / 1
Регистрация: 20.07.2017
Сообщений: 15
14.11.2017, 11:53  [ТС] 3
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
перед каждым rint припиши (int)
Спасибо, помогло. А когда убрал rint быстрее скомпилировался.
C++
1
2
n = (int)(a / pow(10, i)) % 10;
o = a % (int)pow(10,i);
Значит, отброс знаков после запятой (которых нет) не помогает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2017, 11:53

[Error] invalid operands of types '<unresolved overloaded function type>' and 'double' to binary 'operator*'
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; /* run this program using the console...

Объясните, как исправить ошибку invalid operands of types 'double' and 'const char [2]' to binary 'operator -
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace...

error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
Что означает ошибка в 8 строчке error: invalid operands of types 'const int*' and 'const int*' to...

Invalid operands of types 'List*' and 'List*' to binary 'operator+'
Я создал список из 4 елементов( 3.5.1.9)и выбивает такая ошибка когда хочу посчитать сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru