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

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

28.12.2009, 12:53. Показов 1389. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru