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

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

Войти
Регистрация
Восстановить пароль
 
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
#1

Код нормально компилируется но работает не весь - C++

22.08.2014, 19:38. Просмотров 301. Ответов 10
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане! Итак есть программа, которая нормально компилируется, но при запуске работает не как задумано. (Говно)кодить начал недавно поэтому прошу не ругаться К тому же первый раз реализую класс менеджер, скорее всего всё можно было сделать изящнее. goto, continue, break старался избежать. Буду рад любой помощи и советам!

P.S. IDE - Dev-C++ 5.7.0 Windows 7 Professional 64 bit

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include<iostream>
#include<locale.h>
 
class FunctionsManager
{
    private:
        short int FunctionToLaunch; //Íîìåð ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ*
    public:
        bool LaunchCalc() //ÎáúÿâëåГ*ГЁГҐ ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ* ГЄГ*ëüêóëÿòîðГ*
        {
            return true;
        }
        bool LaunchFigures() //ÎáúÿâëåГ*ГЁГҐ ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ* ïðîãðГ*ììû, âû÷èñëÿþùåé ïëîùГ*äü ГґГЁГЈГіГ°
        {
            return true;
        } 
        void SetFunctionToLaunch(short int ManagersFunctionToLaunch) //ГѓГ«Г*ГўГ*ûé ìåòîä
        {
            FunctionToLaunch = ManagersFunctionToLaunch;
            
            if(FunctionToLaunch = 1)
            {
                LaunchCalc();
            }
            else if(FunctionToLaunch = 2)
            {
                LaunchFigures();
            }
        }   
};
 
int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    
    setlocale(LC_ALL, "Rus");
            
    cout << "Äîáðî ïîæГ*ëîâГ*ГІГј Гў Г¬Г*Г±ГІГҐГ°-ГЄГ*ëüêóëÿòîð!" << endl;
    cout << "Âûáåðèòå òðåáóåìîå äåéñòâèå: " << endl;
    cout << "1.Г“Г*èâåðñГ*ëüГ*ûé ГЄГ*ëüêóëÿòîð(1), 2.Âû÷èñëåГ*ГЁГҐ ïëîùГ*äè ГґГЁГЈГіГ°(2)" << endl;
    cout << "" << endl;
    
    bool Correct = 1; //Òðåáóåòñÿ äëÿ ïåðåçГ*ГЇГіГ±ГЄГ* öèêëГ* Г*èæå ïðè Г*ГҐГЇГ°Г*âèëüГ*îì ââîäå ГЁ âûõîäГ* ГЁГ§ öèêëГ* ïðè ГЇГ°Г*âèëüГ*îì
    
    short int FunctionChoice = 0; //ÏåðåìåГ*Г*Г*Гї äëÿ âûáîðГ* Г*îìåðГ* ГґГіГ*êöèè
    
    do
    {
    cout << "Ââåäèòå Г*îìåð ГґГіГ*êöèè êîòîðóþ ГўГ» õîòèòå èñïîëüçîâГ*ГІГј:" << endl;
    cin >> FunctionChoice;
    
    if(FunctionChoice <= 0 || FunctionChoice > 2)
    {
        cout << "Ââåäèòå êîððåêòГ*ûé Г*îìåð ГґГіГ*êöèè!" << endl;
    }
    else 
    {
        cout << "ÏðîäîëæГ*ГҐГ¬" << endl;
        Correct = 0;
    }
    }while(Correct != 0);
    
    FunctionsManager Manager;
    Manager.SetFunctionToLaunch(FunctionChoice);
    
    void Calculator();
    
    if(Manager.LaunchCalc() == 0)
    {
        void Calculator();
    }
    
    return 0;
}
 
void Calculator()
{
    using std::cout;
    using std::cin;
    using std::endl;
    
    cout << "Âû ïåðåøëè Гў ГЄГ*ëüêóëÿòîð!" << endl;
    cout << "Ââåäèòå äâГ* Г·ГЁГ±Г«Г*" << endl;
    
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2014, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Код нормально компилируется но работает не весь (C++):

Как работает данный код? И почему не компилируется? - C++
Обьясните пожалуйста как работает данный код, и скажите почему он не компилируется? И есть ли способ считать числа еще быстрее? ...

В консольном приложении код работает нормально, в оконном - нет - C++
суть в чем. используется один и тот же модуль ATD. Но в консольном приложении работает нормально все, все методы. А вот в окне формы...

Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C - C++
Подскажите почему программа выдает ошибку при первом запуске, а дальше работает нормально? #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

В формате .cpp код компилируется, а в .c не компилируется - C++
1).Подскажите почему в формате .cpp код компилируется, а в .c не компилируется 2). Как сделать так, чтобы компилировалось в .c? ...

Не компилируется файл. Не могу нормально подключить boost - C++
Помогите, не могу подключить boost. Скачал последнюю версию на офф.сайте. Запустил boostrap (он все откомпилил и закрылся) проставил пути в...

Не компилируется код - C++
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; using std::cout; using std::endl; int squareByValue(int); // прототип передача...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
22.08.2014, 19:59 #2
Coding_fun, 68 и 72 строки
C++
1
void Calculator(); //Уберите void
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 20:05  [ТС] #3
На 68 вообще убрал, после класса объявил функцию void Calculator(), а на 72 void убрал, результатат тот же, компилируется, запускается, доходит до "Продолжаем" и прекращает выполнение.
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include<iostream>
#include<locale.h>
 
class FunctionsManager
{
    private:
        short int FunctionToLaunch; //Íîìåð ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ*
    public:
        bool LaunchCalc() //ÎáúÿâëåГ*ГЁГҐ ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ* ГЄГ*ëüêóëÿòîðГ*
        {
            return true;
        }
        bool LaunchFigures() //ÎáúÿâëåГ*ГЁГҐ ГґГіГ*êöèè äëÿ Г§Г*ГЇГіГ±ГЄГ* ïðîãðГ*ììû, âû÷èñëÿþùåé ïëîùГ*äü ГґГЁГЈГіГ°
        {
            return true;
        } 
        void SetFunctionToLaunch(short int ManagersFunctionToLaunch) //ГѓГ«Г*ГўГ*ûé ìåòîä
        {
            FunctionToLaunch = ManagersFunctionToLaunch;
            
            if(FunctionToLaunch = 1)
            {
                LaunchCalc();
            }
            else if(FunctionToLaunch = 2)
            {
                LaunchFigures();
            }
        }   
};
 
void Calculator();
 
int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    
    setlocale(LC_ALL, "Rus");
            
    cout << "Äîáðî ïîæГ*ëîâГ*ГІГј Гў Г¬Г*Г±ГІГҐГ°-ГЄГ*ëüêóëÿòîð!" << endl;
    cout << "Âûáåðèòå òðåáóåìîå äåéñòâèå: " << endl;
    cout << "1.Г“Г*èâåðñГ*ëüГ*ûé ГЄГ*ëüêóëÿòîð(1), 2.Âû÷èñëåГ*ГЁГҐ ïëîùГ*äè ГґГЁГЈГіГ°(2)" << endl;
    cout << "" << endl;
    
    bool Correct = 1; //Òðåáóåòñÿ äëÿ ïåðåçГ*ГЇГіГ±ГЄГ* öèêëГ* Г*èæå ïðè Г*ГҐГЇГ°Г*âèëüГ*îì ââîäå ГЁ âûõîäГ* ГЁГ§ öèêëГ* ïðè ГЇГ°Г*âèëüГ*îì
    
    short int FunctionChoice = 0; //ÏåðåìåГ*Г*Г*Гї äëÿ âûáîðГ* Г*îìåðГ* ГґГіГ*êöèè
    
    do
    {
    cout << "Ââåäèòå Г*îìåð ГґГіГ*êöèè êîòîðóþ ГўГ» õîòèòå èñïîëüçîâГ*ГІГј:" << endl;
    cin >> FunctionChoice;
    
    if(FunctionChoice <= 0 || FunctionChoice > 2)
    {
        cout << "Ââåäèòå êîððåêòГ*ûé Г*îìåð ГґГіГ*êöèè!" << endl;
    }
    else 
    {
        cout << "ÏðîäîëæГ*ГҐГ¬" << endl;
        Correct = 0;
    }
    }while(Correct != 0);
    
    FunctionsManager Manager;
    Manager.SetFunctionToLaunch(FunctionChoice);
    
    if(Manager.LaunchCalc() == 0)
    {
        Calculator();
    }
    
    return 0;
}
 
void Calculator()
{
    using std::cout;
    using std::cin;
    using std::endl;
    
    cout << "Âû ïåðåøëè Гў ГЄГ*ëüêóëÿòîð!" << endl;
    cout << "Ââåäèòå äâГ* Г·ГЁГ±Г«Г*" << endl;
    
}
DrOffset
7103 / 4244 / 952
Регистрация: 30.01.2014
Сообщений: 7,025
22.08.2014, 20:13 #4
Цитата Сообщение от Coding_fun Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
if(FunctionToLaunch = 1) 
{ 
    LaunchCalc(); 
} 
else if(FunctionToLaunch = 2) 
{ 
    LaunchFigures(); 
}
Равенство - это ==.
А у тебя присваивание в if.
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 20:16  [ТС] #5
Так и было, подумал что из-за этого другие ошибки были, изменил. Не поверите, сейчас сделал == все равно та же самая фигня
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 762
22.08.2014, 20:17 #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Coding_fun Посмотреть сообщение
if (Manager.LaunchCalc() == 0)
Цитата Сообщение от Coding_fun Посмотреть сообщение
bool LaunchCalc() //Объявление функции для запуска калькулятора
* * * * {
* * * * * * return true;
* * * * }
upd: launchcalc всегда вернет 1, условие не выполнится никогда
DrOffset
7103 / 4244 / 952
Регистрация: 30.01.2014
Сообщений: 7,025
22.08.2014, 20:18 #7
Цитата Сообщение от Coding_fun Посмотреть сообщение
подумал что из-за этого другие ошибки были, изменил
Не надо шаманить
Цитата Сообщение от Coding_fun Посмотреть сообщение
Не поверите, сейчас сделал == все равно та же самая фигня
Ну значит есть еще ошибки
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
22.08.2014, 20:20 #8
C++
1
2
3
4
if(Manager.LaunchCalc()) // не равно
{
    Calculator();
}
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 20:21  [ТС] #9
Спасибо, должно быть изменил опять же подумав что из-за этого не работает. Поменял на != и всё как по маслу!
Всем спасибо, всем плюсов!
DrOffset
7103 / 4244 / 952
Регистрация: 30.01.2014
Сообщений: 7,025
22.08.2014, 20:32 #10
Coding_fun, судя по тому, что написано, должно быть как-то так (до конца сам допишешь):
Кликните здесь для просмотра всего текста
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include<iostream>
#include<locale.h>
 
class FunctionsManager
{
private:
    short int FunctionToLaunch; //Номер функции для запуска
 
public:
    bool LaunchCalc() //Объявление функции для запуска калькулятора
    {
        return FunctionToLaunch == 1;
    }
    bool LaunchFigures() //Объявление функции для запуска программы, вычисляющей площадь фигур
    {
        return FunctionToLaunch == 2;
    }
    void SetFunctionToLaunch(short int ManagersFunctionToLaunch) //Главный метод
    {
        FunctionToLaunch = ManagersFunctionToLaunch;
    }
};
 
void Calculator();
void Figures();
 
int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
 
    setlocale(LC_ALL, "Rus");
 
    cout << "Добро пожаловать в мастер-калькулятор!" << endl;
    cout << "Выберите требуемое действие: " << endl;
    cout << "1.Универсальный калькулятор(1), 2.Вычисление площади фигур(2), 3.Exit(3)" << endl;
    cout << "" << endl;
 
    bool Correct = 1; //Требуется для перезапуска цикла ниже при неправильном вводе и выхода из цикла при правильном
 
    short int FunctionChoice = 0; //Переменная для выбора номера функции
 
    do
    {
        cout << "Введите номер функции которую вы хотите использовать:" << endl;
        cin  >> FunctionChoice;
 
        if(FunctionChoice <= 0 || FunctionChoice > 3)
        {
            cout << "Введите корректный номер функции!" << endl;
        }
        else
        {
            if(FunctionChoice == 3)
            {
                Correct = 0;
            }
            else
            {
                cout << "Продолжаем" << endl;
 
                FunctionsManager Manager;
                Manager.SetFunctionToLaunch(FunctionChoice);
 
                if(Manager.LaunchCalc())
                {
                    Calculator();
                }
                else if(Manager.LaunchFigures())
                {
                    Figures();
                }
            }
        }
    }
    while(Correct != 0);
 
    return 0;
}
 
void Calculator()
{
    using std::cout;
    using std::cin;
    using std::endl;
 
    int a, b;
    cout << "Вы перешли в калькулятор!" << endl;
    cout << "Введите два числа" << endl;
    cin  >> a >> b;
 
}
 
void Figures()
{
    using std::cout;
    using std::cin;
    using std::endl;
 
    //
}
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 20:36  [ТС] #11
Спасибо, примерно Допишу, там дело техники
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 20:36
Привет! Вот еще темы с ответами:

Код не компилируется - C++
Объясните пож-та, почему код не компилируется: // File Output.cpp: определяет точку входа для консольного приложения. // ...

Не компилируется код - C++
я написал код проверял не компелирует почему-то пользуюсь dev c++ пишет проект или исходный файл не скомпелирован вот код #include...

Код не компилируется - C++
#include &lt;iostream&gt; #define _USE_MATH_DEFINES #include &lt;math.h&gt; double circle_area(int radius); using namespace std; int...

Не компилируется код - C++
Есть код на подобие такого: template&lt;int a&gt; class A { public: static const int x1 = B&lt;a,1&gt;::x2; }; template&lt;int a, int b&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.08.2014, 20:36
Ответ Создать тему
Опции темы

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