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

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

27.08.2012, 13:40. Показов 6031. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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 =...

Ошибка error: invalid conversion from ‘char’ to ‘const char*’
Доброго времени суток, компилятор выдает, такую ошибки: ......

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

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

12
734 / 202 / 11
Регистрация: 23.06.2011
Сообщений: 440
27.08.2012, 13:42 2
Для символов используются одинарные кавычки. Двойные - для строк.
1
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 13:42 3
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  [ТС] 4
Спасибо))
туплю

Добавлено через 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
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
27.08.2012, 19:09 5
ch_perch, Что значит не работает? Где break после деления?
1
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 11
27.08.2012, 19:16  [ТС] 6
да да ForEver ,спасибо, уже сам тоже увидел...
Блин ну как-то больно нагроможденно прога получается.
При том при всем еще и после ввода неправильного символа или деления на ноль не будет предлагать продолжить.
0
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 19:29 7
Цитата Сообщение от 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  [ТС] 8
С оператором Bool (или может не оператором) еще не встречался. щас почитаю о нем.
Спасибо. Открываю для себя язык C++, еще много не понимаю.
Если не трудно подскажите можно ли только за счет используемых до этого операторов: while, switch, if и break'оф с return , решить эту задачу?
0
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 19:55 9
Цитата Сообщение от 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  [ТС] 10
Да, без Bool.


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

Не успел еще , но узнаю по подробнее об использовании Bool'a в C++
0
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
28.08.2012, 00:52 11
Цитата Сообщение от 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
Модератор
Эксперт по электронике
8569 / 6385 / 859
Регистрация: 14.02.2011
Сообщений: 22,214
28.08.2012, 00:59 12
Цитата Сообщение от 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  [ТС] 13
DaskOFF спасибо.
Разобрался. Не пользовался еще в C++ оператором do .. while! Это как и в паскале Repeat .. until, постусловие.
Значит если в программе происходит ввод неправильного символа или деление на ноль, в последнем while возвращается истина и цикл повтаряется без вопроса "Continue?".
Еще раз спасибо, очень занимательно для меня )))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2012, 14:26

[Ошибка] 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
Здравствуйте ,сразу попрошу не уделять слишком много внимания ...

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

OpenCV C++ vs2010 error C2446: :: нет преобразования "const char *" в "_TCHAR *"
Добрый день уважаемые форумчане. Столкнулся с небольшой проблемой. Выбивает ошибку: &quot;error C2446:...

Ошибка С2446 no conversion from 'const char *' to '_TCHAR *'
Здравствуйте, я хочу загрузить картинку с помощью OpenCV. Библиотека работает! Но как я уже не...


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

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

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