Форум программистов, компьютерный форум CyberForum.ru

Исправление программного кода - C++

Восстановить пароль Регистрация
 
Infernal_Dragon
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 11
22.05.2010, 17:43     Исправление программного кода #1
Писал программу на С++, но никак не могу понять как исправить
задание:
Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе содержат: - номер автобуса;- фамилию и инициалы водителя; - номер маршрута; - признак того, где находится автобус – на маршруте или в парке. Программа должна обеспечивать:

начальное формирование данных обо всех автобусах в парке в виде списка;

при выезде каждого автобуса из парка вводится номер автобуса, и программа устанавливает значение признака «автобус на маршруте»;

при въезде каждого автобуса в парк вводится номер автобуса, и программа устанавливает значение признака «автобус в парке;

по запросу выдаются сведения об автобусах, находящихся в парке, или об автобусах, находящихся на маршруте.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
код моей кривой программы):
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
#include <iostream.h>                                                                        
#include <iostream.h>
#include <conio.h>
struct Bus {
        int nomerBus;
        char name [50];
        int nomer;
        bool working;
};
struct record {
        Bus bus;
        record *prev;
        record *last;
        record *next;
};
record *first = NULL;
record *last = NULL;
void Add (Bus *bus,record *RECORD )
{
        if (last != NULL)
        {
                RECORD->prev = last;
                RECORD->next = NULL;
                last->next = RECORD;
                last = RECORD;
        }
        else
        {
                RECORD->prev = NULL;
                RECORD->next = NULL;
                first = RECORD;
                last = RECORD;
        }
}
void Delete (Bus *bus, record *RECORD)
{
        if (bus)
        {
                if (RECORD->prev) RECORD->prev->next = RECORD->next;
                if (RECORD->next) RECORD->next->prev = RECORD->prev;
                if (RECORD == first) first = first->next;
                if (RECORD == last) last = last->prev;
                delete RECORD;
        }
}
void Input (void)
{
        const int count = 5;
        Bus buses[count] = {
                {284 ,"A", 23, false},
                {284 ,"b", 23, true},
                {284 ,"c", 23, false},
                {284 ,"d", 23, true},
                {284 ,"f", 23, false}
        };
        for (int i = 0; i < count; i++)
        {
                Add(buses[i]);
        }
}
void Find (void)
{
        bool working;
        cout << "working?-";
        cin >> working;
 
        Bus *bus = first;
        while (bus)
        {
                if ( bus->working == working)
                {
                        cout << bus->working << " "
                        << bus->nomerBus << " "
                        << bus->name << " "
                        << bus->nomer << endl;
                }
                bus = bus->next;
        }
}
void Busexit (Bus *bus, int nomerBus)
{
        int nomerBus;
        cout << "Vvedite nomer bus- ";
        cin >> nomerBus;
        Bus *bus = first;
        while (bus)
        {
                if (bus->nomerBus == nomerBus)
                {
                 bus->working = true;
                 flag = false;
                }
 
                bus = bus->next;
        }
        if (flag)
        {
                cout<<"net takogo"<<endl;
        }
}
void Bushome (Bus *bus, int nomerBus)
{
        int nomerBus;
        cout << "Vvedite nomer bus- ";
        cin >> nomerBus;
        Bus *bus = first;
        while (bus)
        {
                if (bus->nomerBus == nomerBus)
                {
                 bus->working = false;
                 flag = false;
                }
                bus = bus->next;
        }
        if (flag)
        {
                cout<<"net takogo"<<endl;
        }
 
}
int main ()
{
        char ch = 0;
 
        cout << "menu" << endl;
        cout << "1. sformirovat spisok." << endl;
        cout << "2. informacia o bus." << endl;
        cout << "3. viezd bus." << endl;
        cout << "4. vvezd bus." << endl;
        cout << "5. end." << endl;
        while (ch < '1' || ch > '5')
        {
                ch = getch ();
        }
        switch (ch)
        {
                case '1': Input (); break;
                case '2': Find (); break;
                case '3': Busexit (); break;
                case '4': Bushome (); break;
                case '5': return 0;
        };
        getch ();
        return 0;
}
Как исправить мой бред? не могу разобраться сам((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2010, 17:43     Исправление программного кода
Посмотрите здесь:

C++ Проверте, пожалуйста, правильность программного кода
Упрощение программного кода C++
Оптимизация программного кода C++
C++ Динамический массив: вычислить сумму элементов главной и побочной диагоналей (Исправление кода)
C++ Создание объектного файла с использованием программного кода
C++ Замер времени выполнения программного кода
Исправление кода игры "Змейка" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 01:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru