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

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

Восстановить пароль Регистрация
 
Coding_fun
0 / 0 / 0
Регистрация: 22.08.2014
Сообщений: 11
22.08.2014, 19:38     Код нормально компилируется но работает не весь #1
Здравствуйте, уважаемые форумчане! Итак есть программа, которая нормально компилируется, но при запуске работает не как задумано. (Говно)кодить начал недавно поэтому прошу не ругаться К тому же первый раз реализую класс менеджер, скорее всего всё можно было сделать изящнее. 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)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
6421 / 3795 / 878
Регистрация: 30.01.2014
Сообщений: 6,584
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
Сообщений: 755
22.08.2014, 20:17     Код нормально компилируется но работает не весь #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Coding_fun Посмотреть сообщение
if (Manager.LaunchCalc() == 0)
Цитата Сообщение от Coding_fun Посмотреть сообщение
bool LaunchCalc() //Объявление функции для запуска калькулятора
* * * * {
* * * * * * return true;
* * * * }
upd: launchcalc всегда вернет 1, условие не выполнится никогда
DrOffset
6421 / 3795 / 878
Регистрация: 30.01.2014
Сообщений: 6,584
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
6421 / 3795 / 878
Регистрация: 30.01.2014
Сообщений: 6,584
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++

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

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

Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru