Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Стоянка очередь.cpp : Defines the entry point for the console application.
- //
- #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;
- /*if (First == 0)
- {
- First = pv;
- Last = pv;
- }
- else
- {
- if (First == Last)
- {
- pv->next = First;
- Last = 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==First)&&( First== Last))
- {
- First = 0;
- Last = 0;
- delete tmp;
- }
- if ((pr != 0) && (pr!=First))
- pr->next = tmp3;
- if (tmp3 == Last->next)
- Last = (Last)->next;
- if (tmp3 == First)
- {
- pr->next = 0;
- First = pr;
- }
- }
- }
- delete tmp, tmp3, pr;
- }
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement