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

Ошибка программы.Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке

16.05.2018, 17:03. Показов 616. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Задание:
Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке.

Сведения о каждом автобусе включает:
• номер автобуса;
• фамилию и инициалы водителя;
• номер маршрута;
• признак того, где находится автобус – на маршруте или в парке.
Программа должна обеспечивать:
• начальное формирование данных обо всех автобусах в парке в виде списка;
• при выезде каждого автобуса из парка вводится номер автобуса, и программа устанавливает значение признака «автобус на маршруте»;
• при въезде каждого автобуса в парк вводится номер автобуса, и программа устанавливает значение признака «автобус в парке»;
• по запросу выдаются сведения об автобусах, находящихся в парке, или об автобусах, находящихся на маршруте.

Возникает предупреждение после выполнения функции BusInfo,Out или In , к примеру:
после вызова Out-"Вызвано необработанное исключение: нарушение доступа для чтения.
**n** было 0xCDCDCDCD"

Как это можно исправить?

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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#include "stdafx.h"
 
#include<iostream>
 
using namespace std;
 
struct Bus{
int BusNum; 
char Name[30], SurName[30];
int BusNow;
Bus* next; 
 
};
 
 
Bus *head = new Bus;
Bus *tail = head;
 
 
void BusInfo() {
 
    
    int kol = 0, i = 0;
    tail->next = new Bus;
 
    cout << "Сколько автобусов вы хотите добавить?: ";
    cin >> kol;
    for (i; i < kol; i++) {
 
        cout << "Номер автобуса " << i + 1 << ": ";
        while (!(cin >> tail->BusNum) || (cin.peek() != '\n'))
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "Ошибка! Повторите попытку: ";
        }
        cout << "Фамилия водителя: ";
        while (!(cin >> tail->SurName) || (cin.peek() != '\n'))
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "Ошибка! Повторите попытку: ";
        }
        cout << "Имя водителя: ";
        while (!(cin >> tail->Name) || (cin.peek() != '\n'))
        {
            cin.clear();
            while (cin.get() != '\n');
            cout << "Ошибка! Повторите попытку: ";
        }
        cout << "Состояние автобуса (1-в парке,0-на маршруте): ";
        
            while (!(cin>>tail->BusNow) || (cin.peek() != '\n'))
            {
                cin.clear();
                while (cin.get() != '\n');
                cout << "Ошибка! Повторите попытку: ";
            }
            if (tail->BusNow  > 1) {
                cout << "Ошибка! Повторите попытку: ";
                cin.get();
                getchar();
            }
            tail = tail->next;
        
        cout << endl << endl;
 
        }
    
}
void Out() {
    int nomer, m = 1;
    cout << "Введите номер автобуса: ";
    while (!(cin >> nomer) || (cin.peek() != '\n'))
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Ошибка! Повторите попытку: ";
    }
    for (Bus* n = head; n != NULL; n = n->next)
    {
        if (nomer == n->BusNum)
        {
            if (n->BusNow == 1) {
                n->BusNow = 0;
                cout << "Автобус успешно отправлен на маршрут из парка " << endl;
            }
            else if (n->BusNow == 0) {
                cout << "Ошибка! Автобус уже находится на маршруте! " << endl;
            }
        }
 
    }
 
}
void In() {
    int nmb;
    cout << "Введите номер автобуса: ";
    while (!(cin >> nmb) || (cin.peek() != '\n'))
    {
        cin.clear();
        while (cin.get() != '\n');
        cout << "Ошибка! Повторите попытку: ";
    }
 
    for (Bus* n = head; n != NULL; n = n->next)
    {
        if (nmb == n->BusNum)
        {
            if (n->BusNow == 0) {
                n->BusNow = 1;
                cout << "Автобус успешно заехал в парк " << endl;
            }
            else if (n->BusNow == 1) {
                cout << "Ошибка! Автобус уже давно стоит в парке! " << endl;
            }
        }
        
    }
    
}
void AllBusInfo(Bus *&head) {
    
    Bus *b = head; //Временная переменная для хранения адреса следующего элемента
    head = b;
    head = NULL;
    cout << "Информация по автобусному парку:" << endl << endl;
        while (b!=NULL) {
            
            cout << "Автобус " << b->BusNum << endl;
            cout << "Водитель " << b->SurName << " " << b->Name << endl;
            cout << "Состояние автобуса (1 - в парке, 0 - на маршруте ) " << b->BusNow << endl;
            b = b->next;
        }
    }
    
 
 
 
int main() {
    
    setlocale(LC_ALL, "Russian");
    cout << "Добро пожаловать! Прежде чем работать с программой, добавьте информацию об автобусах!" << endl << endl;
    BusInfo();
    for (int k = 0; k >= 0; k++) {
    int vibor;
    cout << "Автобусный парк. Меню" << endl << endl;
    cout << "1.Добавить информацию об автобусах" << endl;
    cout << "2.Отметить выезд автобуса на маршрут" << endl;
    cout << "3.Отметить въезд автобуса в парк" << endl;
    cout << "4.Вывод информации по автобусам" << endl;
    cout << "0.Выход " << endl << endl;
 
    cout << "Ваш выбор: ";
    cin >> vibor;
    
        
        switch (vibor) {
        case 0:
            system("pause");
            return 0;
        case 1:
            BusInfo();
            break;
        case 2:
            Out();
            break;
        case 3:
            In();
            break;
        case 4:
            AllBusInfo(*&head);
            break;
        default:
            cout << "Ошибка! Повторите попытку"<<endl;
            cin.get();
            break;
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2018, 17:03
Ответы с готовыми решениями:

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке
Всем доброго времени суток... у меня к вам огромная просьба....вы не могли бы посмотреть есть ли в...

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке
Прошу помочь с написанием программы. Условие: Составить программу, которая содержит динамическую...

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке
Здравствуйте. Скажите пожалуйста, в чём может быть проблема различных багов в результате выполнения...

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке.
Есть готовая программа, но понять бы, почему не запускается.... Составить программу, которая...

0
16.05.2018, 17:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2018, 17:03
Помогаю со студенческими работами здесь

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке
Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном...

Списки. Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке. Исправить ошибку
Помогите исправить ошибки у меня MinGW Developer Studio 2.05 установлен.Я его отсюда скачивал...

Составить программу, которая содержит информацию о наличии автобусов в автобусном парке
Всем добрый день. Если будет у вас свободная минутка, пожалуйста помогите. Составить программу,...

Составить программу , которая содержит динамическую информацию о наличие автобусов в автобусном парке
Составить программу , которая содержит динамическую информацию о наличие автобусов в автобусном...

Составить программу, которая содержит динамическую информацию о наличие автобусов в автобусном парке
С++ Составить программу , которая содержит динамическую информацию о наличие автобусов в автобусном...

Составить класс, который содержит информацию о наличии автобусов в автобусном парке
Задание Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get...


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

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

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