Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
#1

Выдает ошибку, не понимаю почему! - C++

30.10.2012, 18:33. Просмотров 354. Ответов 6
Метки нет (Все метки)

Эта строка подчеркивает красным: if(strcmp(str,"sin")==0) res=sin(res);

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
46
47
48
49
50
51
52
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
 
int main ()
        {
                int res=0,g;
                bool EXIT = false;
                char str[100],op='\0',history[255];
                history[0]='\0';
                while (EXIT == false)
                {
                      cout << "Input string: ";
                      cin >> str;
                      strcat(history,str);
                      if (str[0] == '=') EXIT = true;
                      g = atoi(str);
                      if (g==0) op = str[0];
                      else{  if  (op!='\0')
                             {
                               if (op == '+') res+=g;
                               if (op == '-') res-=g;
                               if (op == '*') res*=g;
                               if (op == '/') res/=g;                      
                               if (op == '%') res%=g;
                               op = '\0';
                               
                               }
                      if ((strlen(str))==1) op=str[0]; 
                               else
                                    if(strcmp(str,"sin")==0) res=sin(res);
                               else
                                    if(strcmp(str,"cos")==0) res=cos(res);
                               else
                                    if(strcmp(str,"tan")==0) res=tan(res);
                               else
                                    if(strcmp(str,"log")==0) res=log(res);
                               else
                                    cout<<"nevirno";
                                    }
                
                      else res = g;
                      
                }
                      cout << history << res; 
                
                getch();
                return 0;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 18:33     Выдает ошибку, не понимаю почему!
Посмотрите здесь:

Не понимаю из-за чего n в 16 строке ошибку выдает? - C++
#include &lt;iostream&gt; using namespace std; int main() { const int N=31; float a; float sz=0; int n; ...

почему выдает ошибку - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; int main() { const int SIZE=10; int a={0,1}, b={0,1}; unsigned int...

Почему выдает ошибку? - C++
#include&lt;iostream.h&gt; #include&lt;iomanip.h&gt; void main() { float a,e,sum=0.0; int i,j; cout&lt;&lt;&quot;Vvod massiva a:\n&quot;; ...

почему выдает ошибку - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;iomanip&gt; #include &lt;string.h&gt; using namespace std; struct MARSH { char...

Почему выдает ошибку ? - C++
#include &lt;iostream&gt; using std::cout; using std::cin; using std::endl; #include &lt;string&gt; using std::string; class Invoice { ...

Почему выдает ошибку - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; #include &quot;stdafx.h&quot; #include &quot;windows.h&quot; void...

Почему выдает ошибку - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { double a; char c; scanf(&quot;%c&quot;, &amp;c); printf(&quot;%c\n&quot;, c); ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 18:44     Выдает ошибку, не понимаю почему! #2
аргумент функции sin не может быть типа int
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 18:48  [ТС]     Выдает ошибку, не понимаю почему! #3
Цитата Сообщение от David Sylva Посмотреть сообщение
аргумент функции sin не может быть типа int

Теперь вот в этом ошибка! if (op == '%') res%=g;
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 19:12     Выдает ошибку, не понимаю почему! #4
Наверное из-за того, что у тебя res стал вещественным типом, а ты в данной строке хочешь, чтобы происходило нахождение остатка.
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 19:49  [ТС]     Выдает ошибку, не понимаю почему! #5
А как это исправить, чтобы это и это работало!?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 19:57     Выдает ошибку, не понимаю почему! #6
Пересмотри программу сначала, где ты планируешь использовать математические функции делай тип double, где нет тип int.Так же можно преобразовать один тип в другой.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 20:07     Выдает ошибку, не понимаю почему!
Еще ссылки по теме:

Почему не выдает ошибку? - C++
здравствуйте, я недавно начал осваивать с++. Когда я игрался с типами данных, то возник такой вопрос: если какой нибудь переменной...

Подскажите почему выдает ошибку? - C++
#include &lt;iostream&gt; using namespace std; int main(){ int a,b,c,x1,x2,dx; cout&lt;&lt; &quot;Inter a=&quot;; cin &gt;&gt; a; cout&lt;&lt; &quot;Inter b=&quot;;...

Почему компилятор выдает ошибку? - C++
#include &lt;stdio.h&gt; #include &lt;clocale&gt; typedef enum{ COUNT, POUNDS, PINTS }unit_of_measure; typedef union{ short count;...

почему выдает ошибку: ctrcmp? - C++
# include&lt;iostream&gt; # include&lt;conio.h&gt; # include&lt;string&gt; # include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; using namespace std; struct...

выдает ошибку E2061-почему - C++
вот часть кода Matrix&lt;U&gt;&amp; mtr; unsigned int i; Helper(Matrix&lt;U&gt;&amp; _mc, unsigned int _i): mtr(_mc), i(_i)...


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

Или воспользуйтесь поиском по форуму:
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
30.10.2012, 20:07  [ТС]     Выдает ошибку, не понимаю почему! #7
А как можно преобразовать один тип в другой?
Yandex
Объявления
30.10.2012, 20:07     Выдает ошибку, не понимаю почему!
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru