Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/41: Рейтинг темы: голосов - 41, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11

Ошибка error C2446: '==' : no conversion from 'const char *' to 'int'

27.08.2012, 13:40. Показов 8970. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
int main ()
{
  int a,b;
  char op;
  int res;
  cout << "write constant and sing";
  cin >> a;
  cin >> b;
  cin >> op;
  if (op == "+")
      res = a+b;
  else if (op == "-")
      res = a-b;
       else if (op == "/")
           res = a/b;
            else if (op == "*")
                res = a*b;
                 else cout << "bad operetion!";
 
 
 
 return 0;
}
Так получилось что решил посмотреть видео урок. Это скопированный код из него. Компилирую, выдает выше описанную ошибку. Подскажите пожалуйста что не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2012, 13:40
Ответы с готовыми решениями:

Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*'
Код для ардуинки. #include &lt;VirtualWire.h&gt; const int led_pin = 13; const int transmit_pin = 12; void setup() { ...

Ошибка error: invalid conversion from ‘char’ to ‘const char*’
Доброго времени суток, компилятор выдает, такую ошибки: ... /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/stl_construct.h:75:7:...

Ошибка [Error] invalid conversion from 'const char*' to 'char*' [-fpermissive]. Что делать?
Здравствуйте у меня такая ошибка invalid conversion from 'const char*' to 'char*' . Как её исправить? Мой код: #include...

12
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
27.08.2012, 13:42
Для символов используются одинарные кавычки. Двойные - для строк.
1
 Аватар для DaskOFF
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 13:42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
int main ()
{
int a,b;
char op;
int res;
cout << "write constant and sing";
cin >> a;
cin >> b;
cin >> op;
if (op == '+')
res = a+b;
else if (op == '-')
res = a-b;
else if (op == '/')
res = a/b;
else if (op == '*')
res = a*b;
else cout << "bad operetion!";
 
 
 
return 0;
}
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
27.08.2012, 19:06  [ТС]
Спасибо))
туплю

Добавлено через 5 часов 19 минут
в той же программе пытаюсь сделать "ошибку"(исключение), при делении на ноль, но она не срабатывает.
Деление полностью не работает.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using namespace std;
int main ()
{
  int a,b;
  char op,s = 'y';
  int res;
  
  while (s == 'y'||'Y')
  {
        cout << "inter operetion";
        cin >> a >> op >> b;
        switch (op)
            {
            case '+':
              res = a+b;
            break;
            case '-':
              res = a-b;
            break;
            case '*':
              res = a*b;
            break;
            case '/':
                if (b == 0)
                {
                    cout << "bad operetion! delenie na 0!!!" << endl;
                    return 0; // выходит из программы 
                }   
                else res = a/b;
            default :
              cout << "bad operetion!";
              return 0;
            }
 
        cout << res << endl;
        cout << "Continue? y|n";
        cin >> s;
  }
 
 
 return 0;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
27.08.2012, 19:09
ch_perch, Что значит не работает? Где break после деления?
1
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
27.08.2012, 19:16  [ТС]
да да ForEver ,спасибо, уже сам тоже увидел...
Блин ну как-то больно нагроможденно прога получается.
При том при всем еще и после ввода неправильного символа или деления на ноль не будет предлагать продолжить.
0
 Аватар для DaskOFF
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 19:29
Цитата Сообщение от ch_perch Посмотреть сообщение
При том при всем еще и после ввода неправильного символа или деления на ноль не будет предлагать продолжить.
вот при делении на ноль или неправильном вводе запрашивает по новой

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
using namespace std;
int main ()
{
  int a,b;
  char op,s = 'y';
  int res;
  
  while (s == 'y'||'Y')
  {        
        bool err;
                do {
                    cout << "inter operetion" << endl;
                    err = false;
                    cin >> a >> op >> b;
                    switch (op) {
                    case '+':
                        res = a+b;
                        break;
                    case '-':
                        res = a-b;
                        break;
                    case '*':
                        res = a*b;
                        break;
                    case '/':
                        if (b == 0) {
                            cout << "bad operetion! delenie na 0!!!" << endl;
                            err = true;
                        }   
                        else res = a/b;
                        break;
                    default :
                        cout << "bad operetion!";
                        err = true;
                    }
                } while (err);
        cout << res << endl;
        cout << "Continue? y|n";
        cin >> s;
  }
 
 
 return 0;
}
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
27.08.2012, 19:44  [ТС]
С оператором Bool (или может не оператором) еще не встречался. щас почитаю о нем.
Спасибо. Открываю для себя язык C++, еще много не понимаю.
Если не трудно подскажите можно ли только за счет используемых до этого операторов: while, switch, if и break'оф с return , решить эту задачу?
0
 Аватар для DaskOFF
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 19:55
Цитата Сообщение от ch_perch Посмотреть сообщение
С оператором Bool (или может не оператором) еще не встречался. щас почитаю о нем.
Спасибо. Открываю для себя язык C++, еще много не понимаю.
bool это логические 1(true\истина) и 0(false\ложь)



Цитата Сообщение от ch_perch Посмотреть сообщение
Если не трудно подскажите можно ли только за счет используемых до этого операторов: while, switch, if и break'оф с return , решить эту задачу?
без использования bool ?
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
28.08.2012, 00:27  [ТС]
Да, без Bool.


я догадался что это логический тип, как и в паскале. только мне не понятно как он используется.
Вы его объявляете прямо в теле программы, это ново для меня)))
в паскале не так было.
Я так понял если Bool принимает значение true в последнем while то цикл заканчивается?

Не успел еще , но узнаю по подробнее об использовании Bool'a в C++
0
 Аватар для DaskOFF
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
28.08.2012, 00:52
Цитата Сообщение от ch_perch Посмотреть сообщение
Да, без Bool.


я догадался что это логический тип, как и в паскале. только мне не понятно как он используется.
Вы его объявляете прямо в теле программы, это ново для меня)))
в паскале не так было.
Я так понял если Bool принимает значение true в последнем while то цикл заканчивается?

Не успел еще , но узнаю по подробнее об использовании Bool'a в C++
в с++ объявлять переменные можно где угодно
и тут действуют области видимости например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (int i=0; i != 5; i++)
{
//тут i есть
выполняется цикл
}
 
//тут i уже нету
 
for (int i=4; i != 7; i++)
{
//тут i есть
выполняется цикл2
}
 
//тут тоже нету i
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
28.08.2012, 00:59
Цитата Сообщение от ch_perch Посмотреть сообщение
деления на ноль не будет предлагать продолжить.

Цитата Сообщение от ch_perch Посмотреть сообщение
C++
1
2
3
4
5
6
7
case '/':
 if (b == 0)
 {
 cout << "bad operetion! delenie na 0!!!" << endl;
 return 0; // выходит из программы 
 } 
 else res = a/b;
конечно не будет и еще из программы выйдет
return то зачем присобачил
C++
1
2
3
4
5
6
case '/':
 if (b == 0)
    cout << "bad operetion! delenie na 0!!!" << endl;
 else
    res = a/b;
break;
0
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
28.08.2012, 14:26  [ТС]
DaskOFF спасибо.
Разобрался. Не пользовался еще в C++ оператором do .. while! Это как и в паскале Repeat .. until, постусловие.
Значит если в программе происходит ввод неправильного символа или деление на ноль, в последнем while возвращается истина и цикл повтаряется без вопроса "Continue?".
Еще раз спасибо, очень занимательно для меня )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2012, 14:26
Помогаю со студенческими работами здесь

Invalid conversion from `int' to `const char*'
Здравствуйте.Возникла проблема с типами данных, пытался решить - стало хуже...:wall: Вот сам код: #include &lt;iostream&gt; ...

[Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive]
Решал задачи сам по себе, наткнулся на очень интересную. Вот сама задача: Вы оператор пуска ракет на ядерном подводном ...

Ошибка "error C2446: :: нет преобразования "int" в "char *"
Ошибка: &quot;error C2446: :: нет преобразования &quot;int&quot; в &quot;char *&quot; Когда нажимаю двойным кликом на ошибку меня перекидывает в файл...

Ошибка компиляции Error C2397 conversion from 'int' to '_Ty' requires a narrowing conversion Project1 . 22
Здравствуйте ,сразу попрошу не уделять слишком много внимания эфективности\логичности\необходимости написания таких програм. На 1 скрине...

Ошибка invalid conversion from 'const char*' to 'char*'
Я в С++ новенький. Поэтому опыта еще нет, да и знаний мало. ПОдскажите пожалуйста, чего вылетает ошибка invalid conversion from 'const...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru