Операция не применима к типам boolean и integer как исправить
Перейти к содержимому

Операция не применима к типам boolean и integer как исправить

  • автор:

PascalABC, обучение [закрыт]

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 7 лет назад .

Даны электронные часы, и нужно сделать так, чтобы пользователь мог забить время самостоятельно, на часах есть 7 подсвеченных индикаторов.
не знаю, где ошибка. При запуске

Program1.pas(37) : Встречено ‘procedure’, а ожидался оператор

Grundy's user avatar

Основная ошибка в том, что определены процедуры, но не определено тело основной программы, а именно нет конструкции

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

Далее, нет ни одного вызова описанных процедур, следовательно после ввода программа просто завершится и ничего не выведет.

Для решения, нужно добавить вызовы этих процедур в основную программу. Следующая ошибка:

В условиях идет попытка сравнения булевской переменной и целого числа, но при этом вы получаете следующую ошибку

Операция ‘=’ не применима к типам boolean и integer

Чтобы избежать этого можно опустить сравнение, так как переменные и так имеют тип boolean, для проверки что переменная true — достаточно использовать саму переменную, а для проверки что она false — нужно использовать оператор not . Таким образом приведенное выше выражение приобретет вид

Аналогично следует преобразовать оставшиеся условия.
Но при этом придется вводить не просто 1 , 0 , а именно true , false .
Вместо этого можно просто поменять тип переменных на Integer

конструкция if. then подразумевает что после then идет единственное выражение, таким образом для следующего кода

условие будет влиять только на первый writeln , остальные будут выполняться всегда.

Чтобы этого избежать необходимо использовать составной оператор begin. end; таким образом

Операция ‘=’ не применима к типам boolean и integer

Операция ‘<=’ не применима к типам boolean и integer
Подскажите, как исправить var r, m, l, C: integer; begin begin if (1&lt;=l&lt;=r&lt;=200000) and.

Ошибка: Операция ‘<>’ не применима к типам integer и boolean
Уважаемые форумнечане, подскажите как решить данную проблему, программа выдает ошибку &quot;pas1.pas(5).

Program5.pas(7) : Операция ‘<‘ не применима к типам boolean и integer
program jhbg; var a,b,c,d:longint; begin Writeln (‘Введите скорости’); Readln (a,b); Readln.

Ошибка в программе: Операция ‘=’ не применима к типам real и boolean
Помогите исправить ошибку в 9 строке программы: program storinka40zadacha7; uses crt; var.

Операция не применима к типам boolean и integer как исправить

Gray Pipe

This forum is now closed. Thank you for your contributions. If you need more information about where else you can find help, you can visit the resource page.

Answered by:

Question

Hi i am trying to write this equation however it is giving me an error "Operator ‘<‘ cannot be applied to operands of type ‘bool’ and ‘int’"

if ( 4 <= intA — intB < 8 || intA- intB = 3 && intA — intB >= 8)

This is what i am tying to replicate;

What am i doing wrong, thanks.

Answers

C# doesn’t support a<b<c type expressions. You can do this:

if((4 <= (intA — intB) && (intA — intB) < 8) || ((intA — intB) == 3 && (intA — intD >=8))

Please note that in your code, you’ve written intA — intB = 3 && intA — intB >= 8

First of all, logical comparisons are not assignments and you use == to check for equality. If it is meant as an equality check, then the second part is always false as if A — B equals three, then there can be no way that A — B >= 8.

CS0019 Оператор не может применяться к операндам типа ‘bool’ и ‘int’

«Создайте метод с именем Sum() который принимает любое количество целочисленных параметров и отображает их сумму. Написать Main() метод, демонстрирующий, что Sum() работает правильно при передаче одного, трех, пяти или массива из десяти целых чисел. Сохраните программу как UsingSum.cs .»

из Microsoft® Visual C #® 2008, Введение в объектно-ориентированное программирование, 3e, Джойс Фаррелл

Мой код в части «// шаг 1:» получает ошибку CS0019, в которой говорится, что ее нельзя применить к операндам типа bool и int .

Я очень подозреваю, что с этим кодом есть и другие проблемы, но это большое улучшение по сравнению с тем, что было у меня четыре часа назад .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *