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

Построчный разбор кода программы

23.12.2010, 15:54. Показов 1595. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят помогите прокомментировать программу, а то завтра защита! Препод придирается ко всему!

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
103
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
struct Akkord
{
bool hit;
char Ak[2];
};
TForm1 *Form1;
Akkord Akk[8] = {{false,'A','m'},{false,'A','7'},{false,'D','m'},{false,'E','m'},{false,'G','7'},{false,'F','m'},{false,'F'},{false,'G'}};// массив структур который инициализуется данными. первый элемент это значение которое определет есть ли в музыке данный аккрод. второй это название аккорода
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
 
 
//---------------------------------------------------------------------------
 
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::N4Click(TObject *Sender)
{
 int i=0,j=0;
 OpenDialog1->Execute();
        if(OpenDialog1->FileName.Length() != 0)
        {
                Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
                String a = Memo1->Lines->Text;
                for(i=0;i<strlen(a.c_str())-1;i++)
                {
                        for(j=0;j<8;j++)
                        {
                                if(j<6)
                                {
                                        if(a.c_str()[i]==Akk[j].Ak[0] && a.c_str()[i+1]==Akk[j].Ak[1])
                                        {Akk[j].hit=true;}
                                }
                                else
                                {
                                        if(a.c_str()[i]==Akk[j].Ak[0])
                                        {Akk[j].hit=true;}
                                }
                        }
                }
                for(i=0;i<8;i++)
                {
                        if(Akk[i].hit)
                        {
                                switch(i)
                                {
                                case 0:
                                        {L_Am->Font->Color=clRed;}break;
                                case 1:
                                        {L_A7->Font->Color=clRed;}break;
                                case 2:
                                        {L_Dm->Font->Color=clRed;}break;
                                case 3:
                                        {L_Em->Font->Color=clRed;}break;
                                case 4:
                                        {L_G7->Font->Color=clRed;}break;
                                case 5:
                                        {L_Fm->Font->Color=clRed;}break;
                                case 6:
                                        {L_F->Font->Color=clRed;}break;
                                case 7:
                                        {L_G->Font->Color=clRed;}break;
                                }
                        }
                }
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
        Memo1->Clear();
        for(int i=0;i<8;i++)
        {
                Akk[i].hit=false;
        }
        L_Am->Font->Color=clBlack;
        L_A7->Font->Color=clBlack;
        L_Dm->Font->Color=clBlack;
        L_Em->Font->Color=clBlack;
        L_Fm->Font->Color=clBlack;
        L_F->Font->Color=clBlack;
        L_G->Font->Color=clBlack;
        L_G7->Font->Color=clBlack;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{
PostMessage(Application->Handle, WM_CLOSE, NULL, NULL);
}
//---------------------------------------------------------------------------
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2010, 15:54
Ответы с готовыми решениями:

Разбор кода
Ребят, помогите пожалуйста! Вот часть кода программы гостиницы. На ней стоит пароль, можно входить в неё без пароля в демонстрационном...

Разбор программы.
Всем доброго времени суток. Вот решил почистить свой комп, и нашёл в одной из папок архив, в нём калькулятор написанный в С++, попытавшись...

Ресурсы на разбор исходного кода doom (id tech 1)
Здравствуйте, друзья. Мне очень-очень хотелось бы найти ресурсы, которые помогут разобрать исходный код (желательно если будет инфа по...

9
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2010, 15:58
помогите - это не синоним "сделайте вместо меня" - и используйте тег [ CPP](без пробелов)[ /CPP] (с++) - код читается куда лучшее
1
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 16:05  [ТС]
Ну так поможите?

Добавлено через 3 минуты
Вот будет у вас проблема с базами данных обратитесь ко мне я помогу! А сдесь я дуб дубом!

Добавлено через 2 минуты
«Игра на гитаре»
Необходимо создать программу, которая позволит пользователю определять, как ставятся аккорды на грифе. Текст песни загружается .txt файлом. В окне будет располагаться песня с аккордами. Справа от окна располагаются табулатуры (расположение пальцев на грифе) которые подсвечены красным цветом.
Смысл программы!
0
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 16:12  [ТС]
Ребята помогите. а то препод завтра съест!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2010, 16:16
комментировать что-то типа
C++
1
2
3
int i=0,j=0;
OpenDialog1->Execute();
  if(OpenDialog1->FileName.Length() != 0)
- вы и сами справитесь , а с аккордами - лес друмучий .
гм...
C++
1
2
if(Akk[i].hit) // если нажат аккорд с индексом "і"
Akk[i].hit=false; // состояние аккорда с индексом "і" - "Не нажат"
... типа так ?
1
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 16:36  [ТС]
Спвсибо!

Добавлено через 19 минут
Цитата Сообщение от LK Посмотреть сообщение
... типа так ?
типа ек так!
а вот так!
/*
Метод для вывода таблицы умножения
заданной размерности


// промежуточная переменная
public int my_variable;

// константы для кодов возврата приложения
#define RESULT_OK 0; // программа отработала правильно
#define RESULT_FAIL 1; // некорректное завершение программы

Входные данные
user_input – входная информация
output_stream – выходной поток


Возвращаемые данные: флаг результата обработки.
0 – успешно
1 и выше – код ошибки
*/
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2010, 16:39
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
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
struct Akkord // определяем структуру "Аккорды"
{
bool hit;
char Ak[2];
};
TForm1 *Form1;
Akkord Akk[8] = {{false,'A','m'},{false,'A','7'},{false,'D','m'},{false,'E','m'},{false,'G','7'},{false,'F','m'},{false,'F'},{false,'G'}};// массив структур который инициализуется данными. первый элемент это значение которое определет есть ли в музыке данный аккрод. второй это название аккорода
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
 int i=0,j=0;
 OpenDialog1->Execute();
  if(OpenDialog1->FileName.Length() != 0)
  {
    Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
    String a = Memo1->Lines->Text;
    for(i=0;i<strlen(a.c_str())-1;i++)
    {
      for(j=0;j<8;j++)
      {
        if(j<6)
        {
          if(a.c_str()[i]==Akk[j].Ak[0] && a.c_str()[i+1]==Akk[j].Ak[1])
          // если строка "а" с индексом [i] равна аккорду с индексом [0]
          {Akk[j].hit=true;} // состояние аккорда с индексом "j" - "Нажат"
        }
        else 
        {
          if(a.c_str()[i]==Akk[j].Ak[0]) 
          {Akk[j].hit=true;}
        }
      }
    }
    for(i=0;i<8;i++)
    {
      if(Akk[i].hit)  // если нажат аккорд с индексом "і"
      {
        switch(i)
        {
        case 0:
          {L_Am->Font->Color=clRed;}break; // если аккорд L_Am - цвет обозначения - "Красный"
        case 1:
          {L_A7->Font->Color=clRed;}break;
        case 2:
          {L_Dm->Font->Color=clRed;}break;
        case 3:
          {L_Em->Font->Color=clRed;}break;
        case 4:
          {L_G7->Font->Color=clRed;}break;
        case 5:
          {L_Fm->Font->Color=clRed;}break;
        case 6:
          {L_F->Font->Color=clRed;}break;
        case 7:
          {L_G->Font->Color=clRed;}break;
        }
      }
    }
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
  Memo1->Clear();
  for(int i=0;i<8;i++)
  {
    Akk[i].hit=false;
  }
  L_Am->Font->Color=clBlack; // если аккорд L_Am - цвет обозначения - "Черный"
  L_A7->Font->Color=clBlack;
  L_Dm->Font->Color=clBlack;
  L_Em->Font->Color=clBlack;
  L_Fm->Font->Color=clBlack;
  L_F->Font->Color=clBlack;
  L_G->Font->Color=clBlack;
  L_G7->Font->Color=clBlack;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{
PostMessage(Application->Handle, WM_CLOSE, NULL, NULL); // закрыть приложение
}
//---------------------------------------------------------------------------
1
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 16:41  [ТС]
Спасибо тебе мил человек!!!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
23.12.2010, 17:09
учитывая, что я про эти аккорды слышу впервые - не за что

Добавлено через 1 минуту
bool hit; // объявляем булевую переменную - "Состояние аккорда"

Добавлено через 24 минуты
кажись, все же так:
C++
1
2
3
4
5
6
7
8
if ( a.c_str()[i]==Akk[j].Ak[0] &&
     a.c_str()[i+1]==Akk[j].Ak[1] )
// если строка "а" с индексом [i]
// равна аккорду с индексом [j]
// строки с индексом [0]
// и строка "а" с индексом [i+1]
// равна аккорду с индексом [j]
// строки с индексом [1]
1
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 6
23.12.2010, 17:10  [ТС]
спасяб!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2010, 17:10
Помогаю со студенческими работами здесь

Разбор кода в программе
void __fastcall TPasswordDlg::OKBtnClick(TObject *Sender) { bool corr=false; Form1-&gt;IBSQL1-&gt;Close(); ...

Разбор кода программы
Здравствуйте! Помогите пожалуйста написать программу (на Bison+Flex), которая будет сканировать текстовый документ и выводить информацию об...

Разбор кода программы
сделали контрольную и защитить не не могу. помогите разобрать что значит код, пожалуйста. реализация LZ метода сжатия кто может...

Разбор кода ассемблерной программы
Добрый день, у меня возникла такая проблема, я при помощи функции strtok() считываю слова из перенной buffer в переменную word. В buffer...

Разбор кода программы в dotPeek
Доброго времени суток! Есть одна программа, достаточно сложная, основная часть моих обязанностей на работе это её администрирование,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru