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

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

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

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

22.08.2014, 19:38. Просмотров 293. Ответов 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++ В консольном приложении код работает нормально, в оконном - нет
Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C C++
В формате .cpp код компилируется, а в .c не компилируется C++
Не компилируется файл. Не могу нормально подключить boost C++
C++ Не компилируется код
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
6864 / 4075 / 928
Регистрация: 30.01.2014
Сообщений: 6,870
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
Так и было, подумал что из-за этого другие ошибки были, изменил. Не поверите, сейчас сделал == все равно та же самая фигня
КОП
348 / 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
6864 / 4075 / 928
Регистрация: 30.01.2014
Сообщений: 6,870
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
6864 / 4075 / 928
Регистрация: 30.01.2014
Сообщений: 6,870
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;
 
    //
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2014, 20:36     Код нормально компилируется но работает не весь
Еще ссылки по теме:

C++ Код не компилируется
C++ Код не компилируется
Код не компилируется C++
Не компилируется код C++
C++ Как работает данный код? И почему не компилируется?

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

Или воспользуйтесь поиском по форуму:
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 20:36  [ТС]     Код нормально компилируется но работает не весь #11
Спасибо, примерно Допишу, там дело техники
Yandex
Объявления
22.08.2014, 20:36     Код нормально компилируется но работает не весь
Ответ Создать тему
Опции темы

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