Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
bastr
#1

Пояснитее как работает эта программа... - C++

28.12.2009, 12:53. Просмотров 868. Ответов 10
Метки нет (Все метки)

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
#include <cstdlib>
#include "Class.h"
 
using namespace std;
 
int main(int argc, char *argv[])
{
   
    cout << "VVedite maximalnii razmer mnojectva" << endl;
    
    int max;
    cin >> max;
    
        Class value(max);
    
    while(true)
    {
               cout << "Vvedite Comandy" << endl;
               char* command;
               cin >> command;
               
               if(strcmp("exit", command) == 0)
                   return EXIT_SUCCESS;
               
               else if(strcmp("help", command) == 0)
               {
                     cout << "exit - Vihod" << endl;
                     cout << "help - Pomosh" << endl;
                     cout << "print - Nopechatat Mnojestvo" << endl;
                     cout << "add - Dobavit Chislo" << endl; 
                     cout << "has - Proverit Chislo" << endl << endl;
                     
                     cout << "operatorMult - operator *" << endl << endl;
                     cout << "operatorAdd - operator +" << endl << endl;
               }
               
               else if(strcmp("print", command) == 0)
               {
                    value.Print();
               }
               
               else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
               
               else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
               
               else if(strcmp("operatorMult", command) == 0)
               {
                    value = value * value;
               }
               
               else if(strcmp("operatorAdd", command) == 0)
               {
                    
                    value = value + value;
               }
               
               else if(strcmp("has", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    bool has = value.Has(chislo);
                    
                    if(has == true)
                           cout << "Mogestvo Sodergit Chislo : " << chislo << endl;
                           else cout << "Mogestvo Ne Sodergit Chislo : " << chislo << endl;
               }
               else
               cout << "Oshibka Komandi" << endl;
    }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2009, 12:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пояснитее как работает эта программа... (C++):

Подскажите как работает эта библиотека? - C++
Не могу понять как работает эта библиотека. Посмотрите я вложил архив саму библиотеку и тест программу. Объясните пожалуйста какова функция...

Проверить, работает ли эта игра Змейка? - C++ Builder
можете пожалуйста проверить работает ли даная &quot;игра&quot; еще у кого то кроме меня:)

Как работает данная программа - C++ Builder
Всем доброго времени суток! Пожалуйста, кому не сложно, распишите как работает данная программа, долго пытался сам понять, перерыл...

Как сделать чтобы при нажатии на кнопку в форме2 эта форма закрывалась и открывалась форма1(основная, т.к. на - C++ Builder
Как сделать чтобы при нажатии на кнопку в форме2 эта форма закрывалась и открывалась форма1(основная, т.к. на ней у меня меню программы)

Как работает эта программа шифрования данных? - Visual C++
Привет. Я нащел программу но немогу разабраться как она работает. Пожалуйста помогите разобраться с кодом. Она работает #include...

Как изменить версию comctl32 в runtime: к чему привязана эта информация и как ее изменить - C++ WinAPI
Она видимо привязана к загружаемому модулю, т.к. создавая из DllMain контролы, учитывается версия comctl32 в dll. Вот и как системой...

10
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
28.12.2009, 13:12 #2
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
#include <cstdlib>
#include "Class.h"
 
using namespace std;
 
int main(int argc, char *argv[])
{
   //Выводит на экран строку
    cout << "VVedite maximalnii razmer mnojectva" << endl;
    
    int max;
//Считывает с клавиатуры целое число
    cin >> max;
    
//Созлает переменную типа Class и передает в конструктор целое число
        Class value(max);
    //Бесконечный цикл
    while(true)
    {
//Выводит на экран строку и читает с клавиатуры строку (Здесь косяк, память под строку не выделена)
               cout << "Vvedite Comandy" << endl;
               char* command;
               cin >> command;
          //Если строка равна exit выходим из программы    
               if(strcmp("exit", command) == 0)
                   return EXIT_SUCCESS;
               //Если строка равна help выводим текстовые строки, типа меню
               else if(strcmp("help", command) == 0)
               {
                     cout << "exit - Vihod" << endl;
                     cout << "help - Pomosh" << endl;
                     cout << "print - Nopechatat Mnojestvo" << endl;
                     cout << "add - Dobavit Chislo" << endl; 
                     cout << "has - Proverit Chislo" << endl << endl;
                     
                     cout << "operatorMult - operator *" << endl << endl;
                     cout << "operatorAdd - operator +" << endl << endl;
               }
               //Если строка равна print вызываем функцию Print  класса Class
               else if(strcmp("print", command) == 0)
               {
                    value.Print();
               }
                //Если строка равна add вызываем функцию Set класса Class
               else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
                  //До этого условия программа вообще никогда не дойдет
               else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
                  //Если строка равна operatorMult объект класса Class умножается на себя
               else if(strcmp("operatorMult", command) == 0)
               {
                    value = value * value;
               }
               //Ну и далее все в таком духе....
               else if(strcmp("operatorAdd", command) == 0)
               {
                    
                    value = value + value;
               }
               
               else if(strcmp("has", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    bool has = value.Has(chislo);
                    
                    if(has == true)
                           cout << "Mogestvo Sodergit Chislo : " << chislo << endl;
                           else cout << "Mogestvo Ne Sodergit Chislo : " << chislo << endl;
               }
               else
               cout << "Oshibka Komandi" << endl;
    }
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
А что конкретно не понятно то?
0
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 13:31 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
                  //До этого условия программа вообще никогда не дойдет
               else if(strcmp("add", command) == 0)
               {
                    cout << "Vvedite Chislo" << endl;
                    
                    int chislo;
                    cin >> chislo;
                    value.Set(chislo);
               }
Эт же поидее ваще одно и тоже и 2-е походу можно вообще удалить
0
solar_wind
757 / 748 / 42
Регистрация: 06.07.2009
Сообщений: 2,970
Завершенные тесты: 1
28.12.2009, 13:37 #4
vet, Ага, может опечатка, или там должно было быть что то другое.
0
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
28.12.2009, 13:41 #5
я бы использовал оператор switch вместо if...else. Тогда бы код стал бы понятней...
0
Card1nal
6 / 6 / 0
Регистрация: 04.01.2010
Сообщений: 118
04.01.2010, 18:38 #6
Цитата Сообщение от patriot2008 Посмотреть сообщение
я бы использовал оператор switch вместо if...else. Тогда бы код стал бы понятней...
ага, а давай еще вместо while использовать if ... goto
0
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
04.01.2010, 19:59 #7
Цитата Сообщение от Card1nal Посмотреть сообщение
ага, а давай еще вместо while использовать if ... goto
Это шутка или упрек?
Здесь действительно лучше использовать switch, ИМХО

Добавлено через 59 минут
C++
1
2
3
4
5
6
7
8
9
10
cout << "Vvedite Comandy" << endl;
char* command;
cin >> command;
switch(command)
{
       case "exit":
               return EXIT_SUCCESS;
       case "help":
//и так далее... 
}
Думаю, при такой реализации будет понятней разбираться...
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
04.01.2010, 20:03 #8
Цитата Сообщение от patriot2008 Посмотреть сообщение
Думаю, при такой реализации будет понятней разбираться...
ты хоть сам пробовал свой "чудо"-код откомпилировать?
char* command;
cin >> command;
case "exit":
без комментариев
0
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
04.01.2010, 21:43 #9
zim22,
Card1nal, приношу свои глубочайшие извинения... Ступил немного, теперь все понял (там же указатель... )
Еще раз сорри...
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
04.01.2010, 22:23 #10
Цитата Сообщение от patriot2008 Посмотреть сообщение
(там же указатель..
и не только. в качестве меток case не могут выступать С-string'и
1
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
04.01.2010, 22:37 #11
Я понял, спасибо. ))
0
04.01.2010, 22:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2010, 22:37
Привет! Вот еще темы с ответами:

Объясните как работает эта программа - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; enum { OUT, IN }; int main () { int c, nw, state; state = OUT;

Как работает эта программа ? - Разработка ПО
Нужна максимальная информация о программе. См. вложение. Как она работает и на каком языке написана ? Программа написана фрилансёром по...

Как работает эта программа? - Turbo Pascal
Программа,которая проверяет является ли матрица полумагическим квадратом или нет . Описание тут program matr; uses crt; var ...

Как работает эта программа??? - Assembler
Нашел в интернете программу где надо найти среднее арифметическое чисел, только вообще не понятно особенно начало программы.Объясните...


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

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

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