ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° спСциализированного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Ρ‚Π΅ΠΊ это частный случай ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ списка, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ†Π°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ стСка. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со ΡΡ‚Π΅ΠΊΠΎΠΌ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ элСмСнт ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°. Говорят, Ρ‡Ρ‚ΠΎ стСк Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ обслуТивания LIFO (last in first out, послСдним ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡˆΠ΅Π»). ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° спСциализированного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования РСспублики Π‘Π΅Π»Π°Ρ€ΡƒΡΡŒ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ГосударствСнноС ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования

" БСлорусско-Российский унивСрситСт"

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° «ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы управлСния»

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования»

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° спСциализированного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ МогилСв, 2010

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1. Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, языка ΠΈ ΡΡ€Π΅Π΄Ρ‹ программирования

2. Анализ ΠΈ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ

2.1 Анализ процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€ структур Π΄Π°Π½Π½Ρ‹Ρ… для Π΅Π΅ Ρ…ранСния

2.2 Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структурной схСмы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

4. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

4.1 ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°

4.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

5. Π’Ρ‹Π±ΠΎΡ€ стратСгии тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСстов Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ЦСлью Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс прибытия машин Π² Π³Π°Ρ€Π°ΠΆΠ½ΡƒΡŽ стоянку ΠΈ ΠΈΡ… ΠΎΡ‚ΡŠΠ΅Π·Π΄Π°.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сообщСниС ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ любой ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ со ΡΡ‚оянки сообщСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ число Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки для обСспСчСния Π²Ρ‹Π΅Π·Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСн Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, языка ΠΈ ΡΡ€Π΅Π΄Ρ‹ программирования.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ прСдставлСн Π°Π½Π°Π»ΠΈΠ· ΠΈ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ.

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ продСмонстрирована структурная схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Π’ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ описан интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π³Ρ€Π°Ρ„ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.)

Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π’Ρ‹Π±ΠΎΡ€ стратСгии тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСстов» проводится тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… исходных Π΄Π°Π½Π½Ρ‹Ρ….

1. Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, языка ΠΈ ΡΡ€Π΅Π΄Ρ‹ программирования Π’ ΡΠΎΠΎΡ‚вСтствиС с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ языком программирования Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Π‘++. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовалось ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) — это тСхнология, возникшая ΠΊΠ°ΠΊ рСакция Π½Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ Ρ„Π°Π·Ρƒ кризиса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ структурного программирования ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с Ρ€Π°ΡΡ‚ΡƒΡ‰Π΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. БлСдствия срыв сроков ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², пСрСрасход Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, урСзанная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ошибок.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π±Ρ€ΠΎΡΠ°ΡŽΡ‰ΠΈΠΌΡΡ Π² Π³Π»Π°Π·Π° ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ООП ΠΎΡ‚ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования являСтся использованиС классов. Класс это Ρ‚ΠΈΠΏ, опрСдСляСмый программистом, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠΌ класса Π² C++ являСтся структура Π² Π‘. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π² C++ структура ΠΎΠ±Ρ€Π΅Π»Π° Π½ΠΎΠ²Ρ‹Π΅ свойства ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся частным Π²ΠΈΠ΄ΠΎΠΌ класса, всС элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ. Π‘ΠΎ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΎΠΉ struct Π² C++ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΊΠ»Π°ΡΡΠΎΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² C++ структуры ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ лишь для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ собствСнного повСдСния.

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… «ΠΊΠ»Π°ΡΡ» Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ экзСмплярами класса, ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ООП, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Класс содСрТит константы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ полями, Π° Ρ‚Π°ΠΊΠΆΠ΅ выполняСмыС Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ класса Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ доступ ΠΊ ΠΏΠΎΠ»ΡΠΌ класса Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ элСмСнтами, ΠΈΠ»ΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ класса. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ослаблСния связанности ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ являСтся Ρ‚Π°ΠΊ называСмая инкапсуляция. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ эти Π΄Π°Π½Π½Ρ‹Π΅. Доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ частям класса рСгулируСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов: public (открытая Ρ‡Π°ΡΡ‚ΡŒ), private (закрытая Ρ‡Π°ΡΡ‚ΡŒ) ΠΈ protected (защищСнная Ρ‡Π°ΡΡ‚ΡŒ). ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, располоТСнныС Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ части, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ интСрфСйс класса ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ свободно Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса. Доступ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ сСкции класса Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π΅Π³ΠΎ собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° ΠΊ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ ΠΈΠ· Π΅Π³ΠΎ собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классов-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². Π‘ ΠžΠžΠŸ связаны Π΅Ρ‰Π΅ Π΄Π²Π° инструмСнта, Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ качСство ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²: наслСдованиС классов ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. НаслСдованиС — ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ получСния Π½ΠΎΠ²ΠΎΠ³ΠΎ класса ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ класс создаСтся ΠΏΡƒΡ‚Π΅ΠΌ дополнСния ΠΈΠ»ΠΈ измСнСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса. Благодаря этому рСализуСтся концСпция ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ наслСдования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создана иСрархия родствСнных Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ ΠΈ ΠΈΠ½Ρ‚СрфСйсы. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ мноТСствСнныС опрСдСлСния для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. КакоС ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, зависит ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Скста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚Π΅ΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π² ΡΠ·Ρ‹ΠΊΠ΅ C++ — ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ прСдоставляСт Π΅Ρ‰Π΅ Π΄Π²Π΅ возмоТности: ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для собствСнных классов Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для встроСнных Ρ‚ΠΈΠΏΠΎΠ² C++. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π° ΡΡ‚Π°ΠΏΠ΅ выполнСния Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ срСди ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ классов.

2. Анализ ΠΈ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ

2.1 Анализ процСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π±ΠΎΡ€ структур Π΄Π°Π½Π½Ρ‹Ρ… для Π΅Π΅ Ρ…ранСния Для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° структура Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° стСк.

Π‘Ρ‚Π΅ΠΊ это частный случай ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ списка, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ†Π°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π²Π΅Ρ€ΡˆΠΈΠ½ΠΎΠΉ стСка. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со ΡΡ‚Π΅ΠΊΠΎΠΌ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ элСмСнт ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°. Говорят, Ρ‡Ρ‚ΠΎ стСк Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ обслуТивания LIFO (last in first out, послСдним ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡˆΠ΅Π»).

2.2 Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° основных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ шаблон класса «ΡΡ‚Π΅ΠΊ» ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΡƒΡŽ этот шаблон класса для модСлирования процСсса прибытия ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄Π° ΠΌΠ°ΡˆΠΈΠ½Ρ‹ со ΡΡ‚оянки. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ стСк. Π”Π°Π»Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ — Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк Π±Ρ‹Π»Π° создана функция pop (), Π° Π΄Π»Ρ добавлСния ΠΌΠ°ΡˆΠΈΠ½Ρ‹ функция push (). Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ° (гараТная стоянка) осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ элСмСнтов стСка (машин ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ»-Π²Π΅ Π²Ρ‹Π΅Π·Π΄ΠΎΠ²) ΠΈ Π·Π°Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСк temp, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ удаляСмый элСмСнт (Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ). ПослС Ρ‡Π΅Π³ΠΎ элСмСнты с Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ стСка заносятся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ стСк, ΠΏΡ€ΠΈ этом количСство Π²Ρ‹Π΅Π·Π΄ΠΎΠ² увСличиваСтся Π½Π° 1. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΡƒΠ΄Π°Π»ΡΠ΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΈ Π²Π΅Π΄Π΅ΠΌ подсчСт количСству Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки. Если машина, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

Π’Π°ΠΊ ΠΆΠ΅ созданная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдусматриваСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок. ΠŸΡ€ΠΈ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ Π² ΠΌΠ΅Π½ΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст сообщСниС «ΠžΡˆΠΈΠ±ΠΊΠ° мСню! Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€» .

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структурной схСмы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Рисунок 1 — Бтруктурная схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля

Menu — функция мСню, Π²Ρ‹Π±ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк — Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ стСк Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ — добавляСт ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π² ΡΡ‚Π΅ΠΊ. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ — удаляСт ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°. Π’Ρ‹Ρ…ΠΎΠ΄ — Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

4. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

4.1 ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ мСню, состоящСС ΠΈΠ· 4 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° 1 (Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ — Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши 0) Π΄Π°Π½Π½Ρ‹Π΅ выводятся Π½Π° ΡΠΊΡ€Π°Π½. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° 2 ΠΈ 3 (Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ 1 ΠΈ 2 соотвСтствСнно) Π΄Π°Π½Π½Ρ‹Π΅ вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° 4 (Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ 3) ΠΌΡ‹ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 2 — Π“Ρ€Π°Ρ„ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π€ — menu

Π€1 — Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π€2 — Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π€3 — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π€4 — Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4.2 Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ являСтся Π½ΠΎΠΌΠ΅Ρ€ автомобиля, Π° Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ автомобиля ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки.

НазваниС

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

НомСр ΠΌΠ°ΡˆΠΈΠ½Ρ‹

mashin.num

Π‘Ρ‚Ρ€ΠΎΠΊΠ°

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки

mashin.kol

Π¦Π΅Π»ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число

Вводится информация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° cin (cin>>mashin.num;)

Рисунок 3 — Π€ΠΎΡ€ΠΌΠ° Π²Π²ΠΎΠ΄Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Выводится Π½Π° ΡΠΊΡ€Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° cout

(cout<<" t" <

Рисунок 4 — Π€ΠΎΡ€ΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…

5. Π’Ρ‹Π±ΠΎΡ€ стратСгии тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСстов Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ систСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти тСстированиС.

Рисунок 6 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ тСст) Рисунок 7 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π’Ρ‚ΠΎΡ€ΠΎΠΉ тСст) Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΄Π²ΡƒΡ… тСстов ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ систСмы.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ всС трСбования, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π‘ΠΎΠ·Π΄Π°Π½ шаблон класса «ΡΡ‚Π΅ΠΊ». ΠŸΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ задаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой, которая содСрТит ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ прибытия ΠΈΠ»ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСниС ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ любой ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ со ΡΡ‚оянки сообщСниС содСрТит число Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки для обСспСчСния Π²Ρ‹Π΅Π·Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

1 Π‘Π°Ρ‚Ρ‚Π΅Ρ€ Π“Π΅Ρ€Π±. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ программирования Π½Π° C++. 101 ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡ / АндрСй АлСксандрСску. — Πœ.: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2005.

2 Π”Π΅ΠΉΡ‚Π΅Π» Π₯Π°Ρ€Π²ΠΈ. Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘++ / Пол Π”Π΅ΠΉΡ‚Π΅Π» - М.: Π‘ΠΈΠ½ΠΎΠΌ, 2003.

3 Π¨ΠΈΠ»Π΄Ρ‚ Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚. Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ Π‘++. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2003.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ A

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ шаблон класса «ΡΡ‚Π΅ΠΊ». ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ процСсс прибытия ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄Π° машин с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ этого шаблона класса.

ГараТная стоянка ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΡΡ‚ΠΎΡΠ½ΠΎΡ‡Π½ΡƒΡŽ полосу, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ въСзд ΠΈ Π²Ρ‹Π΅Π·Π΄ находятся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ полосы. Если Π²Π»Π°Π΄Π΅Π»Π΅Ρ† Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ свой Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся блиТайшим ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ, Ρ‚ΠΎ Π²ΡΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π·Π°Π³ΠΎΡ€Π°ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅Π·Π΄, ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ, машина Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° выводится со ΡΡ‚оянки, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π° ΡΡ‚оянку Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ порядкС.

ΠŸΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ задаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой, которая содСрТит ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ прибытия ΠΈΠ»ΠΈ ΠΎΡ‚ΡŠΠ΅Π·Π΄Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ сообщСниС ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ любой ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π΅Π·Π΄Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°ΡˆΠΈΠ½Ρ‹ со ΡΡ‚оянки сообщСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ число Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки для обСспСчСния Π²Ρ‹Π΅Π·Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘ Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для модСлирования процСсса прибытия машин Π² Π³Π°Ρ€Π°ΠΆΠ½ΡƒΡŽ стоянку ΠΈ ΠΈΡ… ΠΎΡ‚ΡŠΠ΅Π·Π΄Π°.

Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся с Π΅Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» my_kurs (stack).exe

ПослС выполнСния всСх Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… дСйствий появится ΠΎΠΊΠ½ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π»Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π° продолТится с Π³Π»Π°Π²Π½Ρ‹ΠΌ мСню, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’ ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° my_kurs (stack).cpp

// my_kurs (stack).cpp: опрСдСляСт Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° для консольного прилоТСния.

#include

#include

#include

using namespace std;

class stack

{

public:

stack (string="", int=0); //ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€

string num;//НомСр ΠΌΠ°ΡˆΠΈΠ½Ρ‹

int kol;//Кол-Π²ΠΎ Ρ€Π°Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки

stack *p;

};

stack *first (string, int);

void push (stack **top, string, int);

stack pop (stack **top);

void menu ();

int main ()

{ setlocale (LC_ALL," Russian");

stack mashin;

int i=0,n=0,k;

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠ»-Π²ΠΎ Π°Π²Ρ‚ΠΎ (n>1)

while (n<=0)

{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»-Π²ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ Π½Π° ΡΡ‚оянкС: «;

cin>>n;

}

cout<<" НомСр 1-Π³ΠΎ автомобиля:" ;

cin>>mashin.num;

mashin.kol=0;

stack *top = first (mashin.num, mashin. kol); //ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ стСка

for (i=1;i

{

cout<<" НомСр «<<<» -Π³ΠΎ автомобиля:" ;

cin>>mashin.num;

mashin.kol=0;

push (&top, mashin. num, mashin. kol);

}

step_menu:

cout<<" ——————————————————-" <

menu ();

cin>>k;

cout<<" ——————————————————-" <

switch (k)

{case 0: {while (top)

{stack temp=pop (&top);

cout<<" t" <

}

goto step_menu;

}

case 1:{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ добавляСмого автомобиля:" ;

cin>>mashin.num;

mashin.kol=0;

push (&top, mashin. num, mashin. kol); goto step_menu;

}

case 2:{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ удаляСмого автомобиля:" ;

string numdel;

cin>>numdel;

bool q=true;

step2:

stack temp=pop (&top);

if ((numdel.compare (temp.num)≠0)&&(top==NULL))

{cout<<" Π’Π°ΠΊΠΎΠ³ΠΎ автомобиля Π½Π΅Ρ‚ Π² Π³Π°Ρ€Π°ΠΆΠ΅. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ." <

if (numdel.compare (temp.num)==0)

{

cout<<" ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ со ΡΡ‚оянки." <

cout<<" ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ удалялся «<<» -Ρ€Π°Π· для обСспСчСния Π²Ρ‹Π΅Π·Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ." <

goto go_while;

}

else

{

/* Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 1-ΠΎΠ³ΠΎ элСмСнта вспомога;

Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ стСка (ВыполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·!) */

if (q==false) {goto ex;}

else q=false;

stack *top2 = first (temp.num, (temp.kol)+1);

goto step2;

ex:

/* Заносим элСмСнты ΠΈΠ· Π³Π°Ρ€Π°ΠΆΠ° Π² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСк */

push (&top2,temp.num, temp. kol+1);

goto step2;

go_while:

/* Π’Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ элСмСнты ΠΈΠ· Π²ΡΠΏΠΎ;

ΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ стСка Π² Π³Π°Ρ€Π°ΠΆ */

while (top2)

{

stack temp=pop (&top2);

push (&top, temp. num, temp. kol);

}

goto step_menu;

}

}

case 3: exit (0);

default:

cout<<" <<<�Ошибка мСню! Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€>>>" <

goto step_menu;

}

return 0;

}

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° my_fun.cpp

#include

#include

#include

using namespace std;

class stack

{

public:

stack (string="", int=0); //ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€

string num;//НомСр ΠΌΠ°ΡˆΠΈΠ½Ρ‹

int kol;//Кол-Π²ΠΎ Ρ€Π°Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ машина ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки

stack *p;

};

stack:stack (string N, int K)

{ num=N; kol=K; }

//———————————————————-;

// ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ стСка

stack *first (string num, int kol)

{

stack *pv = new stack;

pv->num = num;

pv->kol = kol;

pv->p = 0;

return pv;

}

//———————————————————-;

// ЗанСсСниС Π² ΡΡ‚Π΅ΠΊ

void push (stack **top, string num, int kol)

{

stack *pv = new stack;

pv->num = num;

pv->kol = kol;

pv->p = *top;

*top = pv;

}

//———————————————————-;

// Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°

stack pop (stack **top)

{

stack *temp = new stack;

stack *pv = *top;

temp->num = pv->num;

temp->kol = pv->kol;

*top = (*top)->p;

delete pv;

return *temp;

}

//———————————————————-;

// МСню

void menu ()

{

setlocale (LC_ALL," Russian");

cout<<" 0: Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ" <

cout<<" 1: Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π² ΡΡ‚Π΅ΠΊ" <

cout<<" 2: Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°" <

cout<<" 3: Π’Ρ‹Ρ…ΠΎΠ΄ (Exit)" <

cout<<" Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²Ρ‹Π±ΠΎΡ€: «;

}

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° kurs_with_include_stack.cpp

// kurs_with_include_stack.cpp: опрСдСляСт Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° для консольного прилоТСния.

#include

#include

#include

#include

#include

using namespace std;

// МСню

void menu ()

{setlocale (LC_ALL," Russian");

cout<<" 0: Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ стСк Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ" <

cout<<" 1: Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π² ΡΡ‚Π΅ΠΊ" <

cout<<" 2: Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈΠ· ΡΡ‚Π΅ΠΊΠ°" <

cout<<" 3: Π’Ρ‹Ρ…ΠΎΠ΄ (Exit)" <

cout<<" Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²Ρ‹Π±ΠΎΡ€: «;}

int main ()

{setlocale (LC_ALL," Russian");

int n=0,i, k, kol;

string num, numdel;

stack mystack;// НомСр ΠΌΠ°ΡˆΠΈΠ½Ρ‹

stack temp;// Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСк (Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€Π°)

stack mystack2;// Кол-Π²ΠΎ Ρ€Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ со ΡΡ‚оянки

stack temp2;// Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСк (Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ Ρ€Π°Π·)

while (n<=0)

{cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ»-Π²ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ Π½Π° ΡΡ‚оянкС: «; cin>>n;}

for (i=0;i

{

cout<<" НомСр «<<<» -Π³ΠΎ автомобиля:" ;

cin>>num; mystack. push (num);

kol=0; mystack2. push (kol);

}

step_menu:

cout<<" ——————————————————-" <

menu ();

cin>>k;

cout<<" ——————————————————-" <

switch (k)

{case 0: {while (!mystack.empty ())

{

num = mystack. top ();

mystack.pop ();

kol = mystack2. top ();

mystack2.pop ();

cout<<" t" <

}

goto step_menu;

}

case 1:{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ добавляСмого автомобиля:" ;

cin>>num;

mystack.push (num);

kol=0;

mystack2.push (kol);

goto step_menu;

}

case 2:{

cout<<" Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ удаляСмого автомобиля:" ;

cin>>numdel;

step2:

num = mystack. top ();

kol = mystack2. top ();

if ((numdel.compare (num)≠0)&&(mystack.empty ()))

{ cout<<" Π’Π°ΠΊΠΎΠ³ΠΎ автомобиля Π½Π΅Ρ‚ Π² Π³Π°Ρ€Π°ΠΆΠ΅. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ." <

if (numdel.compare (num)==0)

{ mystack. pop ();

mystack2.pop ();

cout<<" ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ со ΡΡ‚оянки." <

cout<<" ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ удалялся «<<» -Ρ€Π°Π· для обСспСчСния Π²Ρ‹Π΅Π·Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ." <

goto go_while; }

/* Заносим элСмСнты ΠΈΠ· Π³Π°Ρ€Π°ΠΆΠ° Π² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ стСк */

temp.push (num);

temp2.push (kol+1);

mystack.pop ();

mystack2.pop ();

goto step2;

go_while:

/* Π’Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ элСмСнты ΠΈΠ· Π²ΡΠΏΠΎ;

ΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ стСка Π² Π³Π°Ρ€Π°ΠΆ */

while (!temp.empty ())

{num = temp. top ();

kol = temp2. top ();

mystack.push (num);

mystack2.push (kol);

temp.pop ();

temp2.pop ();

}

goto step_menu;

}

case 3: exit (0);

default:

cout<<" <<<�Ошибка мСню! Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€>>>" <

goto step_menu;

}

return 0;

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ