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

смоделировать однополосную стоянку - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать таблицу умножения на заданное число (число вводится с клавиатуры) http://www.cyberforum.ru/cpp-beginners/thread1052065.html
Напечатать таблицу умножения на заданное число (число вводится с клавиатуры). Например для числа 7 таблица будет иметь вид 1 х 7 = 7 2 х 7 = 14 ... 9 х 7 = 63 10 х 7 = 70 Помогите пожалуйста!
C++ Поправить код программы Добрый день, уважаемые программисты. Нашёл нужный код для своего задания, а он не работает. Пытался его переделать,но ничего не вышло. Буду очень благодарен за любую помощь. У меня 3 вариант ... http://www.cyberforum.ru/cpp-beginners/thread1052055.html
C++ Проверьте задач на строки
Дан список сотрудников,в котором указаны фамилии и инициалы.Найти однофамильцев,и если они есть то вывести их фамилии и инициалы на экран,если таковых нет,то вывести на сообщение,что однофамильцев...
Определить, лежит ли точка внутри треугольника. Исправить код C++
Доброго времени суток. Помогите, пожалуйста, исправить код. Преподаватель требует без структур и функций, помимо int main(). #include<iostream> #include<conio.h> using namespace std; int...
C++ Написать программу перевода дробного числа из двоичной системы счисления в десятичную http://www.cyberforum.ru/cpp-beginners/thread1052033.html
Напишите программу перевода дробного числа из двоичной системы счисления в десятичную.
C++ Программа для работы с файлами Разработать программу, которая должна выполнять операции ввода, хранения, редактирования, удаления и поиска информации о студентах, хранящейся в файле. Информация о студентах: ФИО, год рождения,... подробнее

Показать сообщение отдельно
Svj@t
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 3

смоделировать однополосную стоянку - C++

22.12.2013, 16:59. Просмотров 199. Ответов 0
Метки (Все метки)

Задача заключается в том, чтобы смоделировать однополосную стоянку, то есть сделать очередь. При въезде машины выводилось сообщение, что машина с таким-то номером въехала, при выезде, что выехала и сколько раз выехала. Программа запускается и при вводе элемента и его же удалении программа падает. Вот код:http://pastebin.com/av2x2JVF

Добавлено через 57 минут
Извиняюсь, но я сам переделал, вот код:
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
#include "stdafx.h"
#include <iostream>
#include <clocale>
using namespace std;
struct Node
{
    int number;
    int info;
    Node *next;
 
};
 
Node *First = 0;
Node *Last = 0;
 
 
 
void add_car(int number)
{
 
    Node *pv = new Node;
    pv->next = 0;
    pv->number = number;
    cout << "Машина с номером     " << pv->number << ' ' << "въехала на стоянку" << endl << endl << endl;
    pv->info = 0;
    
    
    if (First == NULL)
    {
        First = pv;
    }
    else
    {
        pv->next = Last;
    }
        Last = pv;
    
    
}
void delete_car(int number)
{
 
    Node *tmp = Last;
    Node *tmp3 = Last;
    Node *pr = 0;
    if (Last == 0)
    {
        cout << "Cтоянка пуста" << endl;
    }
    else
    {
        while ((tmp != 0) && (tmp->number != number))
        {
            pr = tmp;
            tmp = tmp->next;
            tmp3 = tmp;
        }
        if (tmp == 0) /////////////////
        {
            cout << "Машины с данным номером нет на стоянке" << endl;
        }
        else
        {
            cout << "Машина с номером     " << tmp->number << ' ' << "выезжала со стоянки" << ' ' << tmp->info++ << ' ' << "раз" << endl << endl << endl;
            while (tmp != 0)
            {
                tmp->info++;
                tmp = tmp->next;
            }
        }
        if (tmp3 != 0)
        {
            if (tmp3 != Last)
            {
                pr->next = tmp3->next;
                delete tmp3;
                delete tmp;
            }
            else
            {
                Last = tmp3->next;
                delete tmp3;
                delete tmp;
            }
        }
        else 
        {
            pr = First;
            pr->next = 0;
            delete tmp3;
            delete tmp;
 
        }
    }
}
int main()
{
    setlocale(LC_ALL, "Russian");
    int number;
    number = 0;
    Node *First = 0;
    Node *Last  = 0;
    int menu = 0;
    
    do
    {
        cout << " Вас приветствует система управления парковки." << endl << " Выберите необходимое вам действие и нажмите enter" << endl;
        cout << "1.Добавить машину" << endl;
        cout << "2.Удалить машину" << endl;
        cout << "3.Выход" << endl;
        cin >> menu;
        switch (menu)
        {
        case 1:
            cout << "Введите целочисленный номер машины" << endl;
            cin >> number;
            add_car(number);
            break;
        case 2:
            cout << "Введите целочисленный номер машины" << endl;
            cin >> number;
            
                delete_car(number);
            
            break;
        }
    } while (menu != 3);
    delete First;
    First = 0;
    delete Last;
    Last = 0;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru