0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 4
1

Блок схема

27.11.2014, 13:21. Показов 535. Ответов 1
Метки нет (Все метки)

Может кто помочь?
Нужно сделать блок-схему по данному коду.
Код создавался в среде Builder C++ 6.

---

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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#include<iostream.h>
#include<math.h>
#include<locale.h>
#include<windows.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <vcl.h>
 
struct base_condominium {
//Область данных
int n_room;
int floor;
int area;
char address[40];
//ссылка на следующий элемент
base_condominium *next;
};
 
 
typedef base_condominium *p_node;
 
// создаем новый элемент списка
p_node create_node(){
 
        p_node new_node = (p_node) malloc(sizeof(base_condominium)); //указатель на новый узел
    printf("\nAddress: ");
        scanf("%s", &new_node->address);
        printf("\nArea: ");
        scanf("%d", &new_node->area);
        printf("\nFloor: ");
        scanf("%d", &new_node->floor);
        printf("\nRoom: ");
        scanf("%d", &new_node->n_room);
        new_node->next = NULL; // следующего узла нет
        return (new_node);
}
 
//добавление узла в начало списка
void add_first(p_node &head, p_node new_node){
        new_node->next = head;
        head = new_node;
}
 
// Добавление узла после заданного
        void add_after (p_node p, p_node new_node){
        new_node->next = p->next;
        p->next = new_node;
}
 
//добавление узла в конец списка
void add_last(p_node &head, p_node new_node){
        p_node q=head;
        if (head == NULL) { //если список пуст
                add_first(head, new_node);
                return;
        }
        while (q->next) q=q->next; //ищем последний элемент
        add_after(q,new_node);
}
 
 
//поиск узла по параметрам
p_node find (p_node head, int ar,int fl,int n){
    p_node q = head;
        while (q) {
                if ((q->floor==fl) && ( q->n_room==n) && (q->area-ar <=10))
                        return q;
                q=q->next;
        }
        return q;
}
 
//удаление узла из списка
void delete_node( p_node &head, p_node old_node){
    p_node q = head;
        //отдельно обрабатываем если это начало списка
        if (head == old_node)
                head = old_node->next;
        else {
                while (q && q->next != old_node) //ищем элемент
                        q = q->next;
                q->next = old_node->next; //меняем адреса
        }
        free(old_node); //освобождаем память
}
 
//добавление элемента в базу
void add_base(p_node &head){
    p_node p = create_node();
        add_last(head, p);
}
 
//просмотр всей базы
void view_node(p_node &head){
        p_node p=head;
 
        while (p) {
                printf ("\n%s \n  Ploshad`: %d\n  Etazh: %d\n  Kol-vo Komnat: %d\n", p->address, p->area, p->floor, p->n_room);
                p=p->next;
        }
}
 
//заявка на поиск
void new_q(p_node &head){
        int fl=0, ar=0, n=0;
        p_node p;
char a;
    printf("\nVVedite zhelaemye plpshad`, etazh i kol-vo komnat iskomoy kvartiry ");
        scanf("%d %d %d", &ar, &fl, &n);
 
        p=find(head,ar,fl,n);
        if (p) {
 
                printf ("\nDostupnye kvartyry:\n%s \n  Ploshad`: %d\n  Etazh: %d\n  Kol-vo Komnat: %d\n", p->address, p->area, p->floor, p->n_room);
                delete_node(head,p);
        }
        else
{
do
{
        printf ("\n Podhodyashey kvartiry ne naydeno. Hotite zanesty v bazu svoyu kvartiru? (Y/N)");
        a = getch();
 
        switch (a) {
                case 'y':
                        case 'Y': add_base(head); break;
                case 'n':
                case 'N': break;
                default: printf("\n Neverniy VVod\n");
                }
                }
                while ((a!='n')&&(a!='N')&&(a!='y')&&(a!='Y'));
                }
 
 
}
/* ОСНОВНАЯ ПРОГРАММА */
int main(){
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        p_node head = NULL; //в head хранится указатель на начало списка.
                                // пока в списке нет элементов head=NULL;
        char c;
        do {
        setlocale( LC_ALL, "rus" );
                printf("\n Vvedite identefikator deystviya\n");
                printf(" N (New) - Novaya Zayavka\n V (View) - Prosmotret` Spisok\n A (Add) - Dobavit` Kvartiru\n E (Exit) - Exit\n");
        c = getch();
                switch (c) {
                        case 'e':
                        case 'E':   break;
                        case 'a':
                        case 'A':   add_base(head);             break;
                        case 'v':
                        case 'V':   view_node(head);                    break;
                        case 'n':
                        case 'N':   new_q(head);                break;
                        default :   printf("Neverniy vvod\n");          break;
                        }
                        }
                        while (( c!='e')&&(c!='E'));
                        return(0);
                }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2014, 13:21
Ответы с готовыми решениями:

Блок схема ( схема алгоритма )
Доброго времени суток . Есть вот такая програмка : bool checktwo(const int x); int main(){ ...

Блок-схема
Помогите нарисовать блок схему, по блочной сортировке. Сдавать курсач через 3 дня, а я вообще не...

Блок-схема
помогите зделать блок схему к с++ #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; ...

Блок-схема
где можно почитать про блок схемы..??

1
4004 / 3266 / 914
Регистрация: 25.03.2012
Сообщений: 12,201
Записей в блоге: 1
27.11.2014, 13:34 2
блок-схемы это прошлый век.
их было удобно применять, в дремучие времена, когда программы писались на ассемблере или других языках с обилием goto
Тогда они действительно помогали представить говнокод из множества меток и переходов в наглядном виде: стрелочки, все дела...
Сейчас в блок-схемах нет необходимости. Вообще нет.
Кто-то поспорит, что и сегодня программистами применяются различные диаграммы - я отвечу, что UML и прочие диаграммы это совсем не блок-схемы и используются несколько с другой целью.
Впрочем о чём это я...
Короче, блок-схемы не нужны современному программисту.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2014, 13:34
Помогаю со студенческими работами здесь

блок схема
Найти Q, P, R простые числа, р (р +1), Q (Q +1), г (г +1), цифры будут арифметической прогрессии

Блок-схема
Составить блок-схему по коду. #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; int n;...

Блок схема. С++
Помогите с блок схемой к этому коду #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt;...

блок-схема
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #define MAXLEX 1024 int main(void) {...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru