Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
bastr

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

28.12.2009, 12:53. Показов 1413. Ответов 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;
}
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2009, 12:53
Ответы с готовыми решениями:

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

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

Как работает эта программа? (клиент-сервер)
клиент: #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;winsock2.h&gt; #include &lt;windows.h&gt; #pragma comment(lib, &quot;ws2_32.lib&quot;) ...

10
 Аватар для solar_wind
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
28.12.2009, 13:12
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
183 / 184 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
28.12.2009, 13:31
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
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
28.12.2009, 13:37
vet, Ага, может опечатка, или там должно было быть что то другое.
0
 Аватар для patriot2008
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
28.12.2009, 13:41
я бы использовал оператор switch вместо if...else. Тогда бы код стал бы понятней...
0
6 / 6 / 1
Регистрация: 04.01.2010
Сообщений: 118
04.01.2010, 18:38
Цитата Сообщение от patriot2008 Посмотреть сообщение
я бы использовал оператор switch вместо if...else. Тогда бы код стал бы понятней...
ага, а давай еще вместо while использовать if ... goto
0
 Аватар для patriot2008
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
04.01.2010, 19:59
Цитата Сообщение от 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
depict1
 Аватар для zim22
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
04.01.2010, 20:03
Цитата Сообщение от patriot2008 Посмотреть сообщение
Думаю, при такой реализации будет понятней разбираться...
ты хоть сам пробовал свой "чудо"-код откомпилировать?
char* command;
cin >> command;
case "exit":
без комментариев
0
 Аватар для patriot2008
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
04.01.2010, 21:43
zim22,
Card1nal, приношу свои глубочайшие извинения... Ступил немного, теперь все понял (там же указатель... )
Еще раз сорри...
0
depict1
 Аватар для zim22
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
04.01.2010, 22:23
Цитата Сообщение от patriot2008 Посмотреть сообщение
(там же указатель..
и не только. в качестве меток case не могут выступать С-string'и
1
 Аватар для patriot2008
73 / 73 / 10
Регистрация: 04.12.2008
Сообщений: 458
04.01.2010, 22:37
Я понял, спасибо. ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2010, 22:37
Помогаю со студенческими работами здесь

У кого нибудь работает эта программа? просто запустите
#pragma hdstop #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #define eof 26 #define max 1000 char line; char...

Как работает эта программа?
Задача № 3. Покер Даны 5 целых чисел. Среди них: * если одинаковы 5, то вывести &quot;Impossible&quot;, иначе * если одинаковы 4, то...

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru