Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
#1

в чем ошибка? - C++

27.01.2014, 13:31. Просмотров 426. Ответов 18
Метки нет (Все метки)

только начинаю на c++, хочу простой калькулятор для общего развития сделать, с возведением в степень ошибка. что не так? заранее спасибо.(ну и степень пока только положительная)
C++ (Qt)
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
53
#include <iostream>
 
using namespace std;
 
int a,b,d,o,ap,i;
 
int main()
{
    setlocale(0,"");
    cout<<"ââåäèòå a: ";
    cin>>a;
    ap=a;
    cout<<endl;
    cout<<"âûáåðèòå äåéñòâèå:"<<endl;
    cout<<"1 - ñëîæåГ*ГЁГҐ"<<endl;
    cout<<"2 - âû÷èòГ*Г*ГЁГҐ"<<endl;
    cout<<"3 - ГіГ¬Г*îæåГ*ГЁГҐ"<<endl;
    cout<<"4 - äåëåГ*ГЁГҐ"<<endl;
    cout<<"5 - âîçâåäåГ*ГЁГҐ a Гў Г±ГІГҐГЇГҐГ*Гј b"<<endl;
    cin>>d;
    cout<<endl;
    cout<<"ââåäèòå b: ";
    cin>>b;
    cout<<endl;
    if (d==1){
              o=a+b;
              }
    if (d==2){
              o=a-b;
              }
    if (d==3){
              o=a*b;
              }
    if (d==4){
              o=a/b;
              }
    if (d==5){
              if (b==1) o=a;
              if (b!=1){
                        for (i=0; i=b; i=i+1)
                                   {
                                    a=ap*a;
                                   }
                        o=a;
                       }
              }
              
    cout<<"îòâåò: "<<o<<endl;
    cout<<endl;
              
    system("pause");
    return 0;
}

http://www.cyberforum.ru/cpp-beginners/thread1981215.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 13:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос в чем ошибка? (C++):

Ошибка 2 error LNK2019, не пойму в чем ошибка
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний...

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*'...

a/b в чем ошибка ?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main () { float sc1,sc2;...

В чем ошибка?
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt;...

В чем ошибка ? ?
Вычислить с точностью e=0.0001 #include &quot;stdafx.h&quot; #include &lt;iostream&gt;...

18
Croessmah
++Ͻ
14149 / 8074 / 1512
Регистрация: 27.09.2012
Сообщений: 19,910
Записей в блоге: 3
Завершенные тесты: 1
27.01.2014, 13:33 #2
C++
1
for (i=0; i=b; i=i+1)
i=b - это присваивание, а не сравнение
2
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 13:49  [ТС] #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
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
53
#include <iostream>
 
using namespace std;
 
int a,b,d,o,ap,i;
 
int main()
{
    setlocale(0,"");
    cout<<"ââåäèòå a: ";
    cin>>a;
    ap=a;
    cout<<endl;
    cout<<"âûáåðèòå äåéñòâèå:"<<endl;
    cout<<"1 - ñëîæåГ*ГЁГҐ"<<endl;
    cout<<"2 - âû÷èòГ*Г*ГЁГҐ"<<endl;
    cout<<"3 - ГіГ¬Г*îæåГ*ГЁГҐ"<<endl;
    cout<<"4 - äåëåГ*ГЁГҐ"<<endl;
    cout<<"5 - âîçâåäåГ*ГЁГҐ a Гў Г±ГІГҐГЇГҐГ*Гј b"<<endl;
    cin>>d;
    cout<<endl;
    cout<<"ââåäèòå b: ";
    cin>>b;
    cout<<endl;
    if (d==1){
              o=a+b;
              }
    if (d==2){
              o=a-b;
              }
    if (d==3){
              o=a*b;
              }
    if (d==4){
              o=a/b;
              }
    if (d==5){
              if (b==1)o=a;
              if (b>1){
                        for (i=1; i==b; i=i+1)
                                   {
                                    a=ap*a;
                                   }
                        o=a;
                       }
              }
              
    cout<<"îòâåò: "<<o<<endl;
    cout<<endl;
              
    system("pause");
    return 0;
}
0
Croessmah
++Ͻ
14149 / 8074 / 1512
Регистрация: 27.09.2012
Сообщений: 19,910
Записей в блоге: 3
Завершенные тесты: 1
27.01.2014, 13:49 #4
i<b
1
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 13:53  [ТС] #5
спасибо. а почему i==b не работало?
0
Alex5
1120 / 781 / 231
Регистрация: 12.04.2010
Сообщений: 2,007
27.01.2014, 13:54 #6
b_d, сколько раз должен выполняться цикл for? Как записать условие продолжения цикла?
Цитата Сообщение от b_d Посмотреть сообщение
C++
1
2
3
4
5
6
7
if (b!=1){
       for (i=0; i=b; i=i+1) /* error ! */
                {
                 a=ap*a;
                }
       o=a;
}
1
lukalexrus
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 14:01 #7
b_d, алгоритм работы цикла for предельно прост
C++
1
2
3
for( начальное значение переменной (i=0(стоит одно равно, т.е. тут присваивание)); 
проверка условия(i<b(здесь проверяется выполняется ваше условие или нет, если оно не выполняется то цикл прекращается)(здесь также мб и == - это в отличии от первого случая сравнение, а не присваивание));
инкремент или дикремент переменной(i++(здесь происходит увеличение или уменьшение значения переменной))
примерно так
1
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 14:37  [ТС] #8
подключил библиотеку cmath, почему то не работает pow(a,b), хотя sqrt(a), например, работает.
0
lukalexrus
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 14:40 #9
b_d, покажите код, или можете посмотреть на прототип функции pow
C++
1
2
3
4
5
   double pow(      double basis,      double exponent );
long double pow( long double basis, long double exponent );
      float pow(       float basis,       float exponent );
     double pow(      double basis,         int exponent );
long double pow( long double basis,         int exponent );
т.е. функция не принимает значения типов int, int
0
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 14:43  [ТС] #10
int не принимает...
0
lukalexrus
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 14:50 #11
b_d, ну можно сделать что-то типо такого
C++
1
2
int basis; 
double pow(      (double) basis,         int exponent );
если мне память не изменяет конечно
0
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 14:54  [ТС] #12
ааааа блин. float и double это вещественные? ну тогда понятно... просто я только что с паскаля соскачил... там real...

double разрядность 64 диапазон: 1. 7е-308.. 1. 7е+ 308 --------
float разрядность 32 диапазон: 3. 4е-038.. 3. 4е+ 038 ---------- что это значит?
0
lukalexrus
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 14:58 #13
b_d, Больше байт занимает -> больше цифр влезает
0
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 15:05  [ТС] #14
Цитата Сообщение от lukalexrus Посмотреть сообщение
Больше байт занимает -> больше цифр влезает
в double?
0
lukalexrus
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 15:31 #15
b_d, http://www.cyberforum.ru/attachments/175680d1344791484t вместо тысячи слов
а вообще если интересно вот тема http://www.cyberforum.ru/csharp-begi...ml#post3351964
1
mustimur
268 / 222 / 72
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
27.01.2014, 15:44 #16
Цитата Сообщение от b_d Посмотреть сообщение
int не принимает...
как это? а что за ошибка и как вы эту строчку записали?

Добавлено через 2 минуты
Цитата Сообщение от b_d Посмотреть сообщение
в double?
double аналог real если не напутал (сужу по объему памяти)
0
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 15:58  [ТС] #17
вот
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 <cmath>
 
using namespace std;
 
double a,b,d,o;
 
int main()
{
    setlocale(0,"");
    cout<<"ââåäèòå a: ";
    cin>>a;
    cout<<endl;
    cout<<"âûáåðèòå äåéñòâèå:"<<endl;
    cout<<"1 - ñëîæåГ*ГЁГҐ"<<endl;
    cout<<"2 - âû÷èòГ*Г*ГЁГҐ"<<endl;
    cout<<"3 - ГіГ¬Г*îæåГ*ГЁГҐ"<<endl;
    cout<<"4 - äåëåГ*ГЁГҐ"<<endl;
    cout<<"5 - âîçâåäåГ*ГЁГҐ a Гў Г±ГІГҐГЇГҐГ*Гј b"<<endl;
    cout<<"6 - ГЄГўГ*äðГ*ГІГ*ûé êîðåГ*Гј ГЁГ§ a"<<endl;
    cin>>d;
    cout<<endl;
    
    if(d==6){o=sqrt(a);}
    
    if(d!=6)
    {
        cout<<"ââåäèòå b: ";
        cin>>b;
        cout<<endl;
         if (d==1){
                  o=a+b;
                  }
        if (d==2){
                  o=a-b;
                  }
        if (d==3){
                  o=a*b;
                  }
        if (d==4){
                  o=a/b;
                  }
        if (d==5){
                  o=pow(a,b);
                  }
    }
    cout<<"îòâåò: "<<o<<endl;
    cout<<endl;
              
    system("pause");
    return 0;
}
0
mustimur
268 / 222 / 72
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
27.01.2014, 17:59 #18
Я компилировал на VC2012 работает!
0
b_d
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 19:53  [ТС] #19
Цитата Сообщение от mustimur Посмотреть сообщение
Я компилировал на VC2012 работает!
это же моя программа, она не может не работать!

я на dev c++ фигачу.

в паскале модуль graphabc есть, но там много багов и неудобств, я там графический калькулятор делал, но не доделал(в личку мож кинуть кому, если хотите), вот хочу на c++ тоже графику освоить...
0
27.01.2014, 19:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 19:53
Привет! Вот еще темы с решениями:

В чем ошибка
Написал я очередь. При запуске данной программы появляется окно с функциями...

в чем ошибка?
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;clocale&gt;...

в чем ошибка ?((
Программа для возведеня в степень число, я не понимаю в чём проблема ...

В чем ошибка
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { ...


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

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

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