Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
1

в чем ошибка?

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

Author24 — интернет-сервис помощи студентам
только начинаю на 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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2014, 13:31
Ответы с готовыми решениями:

Ошибка method range of object global failed в чем ошибка
Sub ПроверкаВвода() Dim A As Range Dim B As Range ...

Ошибка -is not a valid integer value (не является допустимым целым значением), не понимаю в чем ошибка
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём...

Ошибка при передаче параметров в функцию. Объясните, ребят, пожалуйста, в чем ошибка
Есть функция, которую необходимо отобразить в виде линий уровня. Далее с помощью простого...

18
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
27.01.2014, 13:33 2
C++
1
for (i=0; i=b; i=i+1)
i=b - это присваивание, а не сравнение
2
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
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
27.01.2014, 13:49 4
i<b
1
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 13:53  [ТС] 5
спасибо. а почему i==b не работало?
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
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
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
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 14:37  [ТС] 8
подключил библиотеку cmath, почему то не работает pow(a,b), хотя sqrt(a), например, работает.
0
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
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 14:43  [ТС] 10
int не принимает...
0
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
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
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 14:58 13
b_d, Больше байт занимает -> больше цифр влезает
0
4 / 2 / 1
Регистрация: 27.01.2014
Сообщений: 114
27.01.2014, 15:05  [ТС] 14
Цитата Сообщение от lukalexrus Посмотреть сообщение
Больше байт занимает -> больше цифр влезает
в double?
0
7 / 6 / 2
Регистрация: 12.01.2014
Сообщений: 32
27.01.2014, 15:31 15
b_d, https://www.cyberforum.ru/atta... 344791484t вместо тысячи слов
а вообще если интересно вот тема Float или Double: что и в каком случае использовать
1
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 865
Записей в блоге: 1
27.01.2014, 15:44 16
Цитата Сообщение от b_d Посмотреть сообщение
int не принимает...
как это? а что за ошибка и как вы эту строчку записали?

Добавлено через 2 минуты
Цитата Сообщение от b_d Посмотреть сообщение
в double?
double аналог real если не напутал (сужу по объему памяти)
0
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
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 865
Записей в блоге: 1
27.01.2014, 17:59 18
Я компилировал на VC2012 работает!
0
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2014, 19:53
Помогаю со студенческими работами здесь

В чем ошибка?По одной строке нормально в базу заходят,а две сразу вылетает ошибка?
INSERT INTO `jos_menu` (`id`, `menutype`, `name`, `alias`, `link`, `type`, `published`, `parent`,...

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена, количество. Определить и...

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru