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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° языкС программирования Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ с символами, строками ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ

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

Π§Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Π΅Ρ‚ C, Ρ‚Π΅ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ окаТСтся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ писания Π½Π° C++ Π² ΡΡ‚ΠΈΠ»Π΅ C, тСряя, Ρ‚Π΅ΠΌ самым, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Ρ‹Π³ΠΎΠ΄Ρ‹ C++. Π’Π°ΠΌ указываСтся Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… C++ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ C. ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ (#define) Π² C++ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹; Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ·Π³Π»Π°ΡˆΠ°Π΅ΠΌΡ‹Π΅ константы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ const ΠΈΠ»ΠΈ enum, ΠΈ inline — Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… расходов Π½Π° Π²Ρ‹Π·ΠΎΠ²… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° языкС программирования Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ с символами, строками ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

БСлорусский государствСнный УнивСрситСт транспорта ΠšΠ°Ρ„Π΅Π΄Ρ€Π° Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°.

Ρ‚Π΅ΠΌΠ°: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования Π‘.

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

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ элСктронной Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, элСктронно-Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин, микропроцСссоров ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠ­Π’Πœ являСтся Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ основным Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ развития Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ ΠΈ ΡΠ²ΡΠ·ΠΈ.

Π’ Π½Π°ΡΡ‚оящСС врСмя Π½Π° ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠΌ транспортС ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠΊΠΈ, Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ ΠΈ ΡΠ²ΡΠ·ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ·Π½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΆ/Π΄. ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ двиТСния ΠΏΠΎΠ΅Π·Π΄ΠΎΠ². Π‘ ΠΈΡ… Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ всС Ρ‡Π°Ρ‰Π΅ стал Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ± ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΈ эксплуатации Π΄Π°Π½Π½Ρ‹Ρ… систСм.

Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ Вранспорта РСспублики Π‘Π΅Π»Π°Ρ€ΡƒΡΡŒ приняло Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° ΠΆ/Π΄. Π­Π’Πœ. Они ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для упрощСния вСдСния тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΈΡ… ΡΡ‚Π°Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для составлСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² двиТСния ΠΏΠΎΠ΅Π·Π΄ΠΎΠ², проСктирования ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΆ/Π΄., опрСдСлСния экономичСской Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ «ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°» ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π’ ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ТСлСзная Π΄ΠΎΡ€ΠΎΠ³Π° «ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°» ΠΎΡ‚ Π’Π£Π—ΠΎΠ² спСциалистов Π²Π»Π°Π΄Π΅ΡŽΡ‰ΠΈΡ… знаниями ΠΎΠ± ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ, Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ надСТности ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΈ Π­Π’Πœ.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ ΠΏΠΎΡΡ‚Π°ΠΏΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ ΠΎΡ‚Ρ€Π°ΡΠ»Π΅Π²ΡƒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму управлСния ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½Ρ‹ΠΌ транспортом АБУЖВ. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… АБУЖВ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π“Π»Π°Π²Π½Ρ‹ΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€ МПБ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ Π½Π° Π΄ΠΎΡ€ΠΎΠ³Π°Ρ… ΠΈ Ρ€ΡΠ΄Π΅ Π·Π°Π²ΠΎΠ΄ΠΎΠ² МПБ. На Π²ΡΠ΅Ρ… Π΄ΠΎΡ€ΠΎΠ³Π°Ρ… созданы ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-справочныС систСмы ΠΏΠΎ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠ°Ρ€ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ систСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, слСТСния Π·Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΌΠΈ составами. Π”Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π­Π’Πœ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ надСТности тСхничСских срСдств ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠ³ΠΎ транспорта ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡ бСзопасности двиТСния становится ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½Ρ‹Ρ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ нашСй профСссии.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ достаточно ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ графичСский интСрфСйс, Π³Π΄Π΅ наглядно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π“Π»Π°Π²Π½ΠΎΠ΅ мСню Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит ΠΈΠ· 4 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²:

1. Π Π°Π±ΠΎΡ‚Π° с ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ.

2. Π Π°Π±ΠΎΡ‚Π° со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ.

3. Π Π°Π±ΠΎΡ‚Π° с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

4. Π’Ρ‹Ρ…ΠΎΠ΄.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Ρ€Ρ‘Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню появляСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСню.

1. Π’Ρ‹Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»Π°.

2. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»Π°.

3. Π’Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

4. ИзмСнСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

5. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

6. ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»Π°.

7. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.

Π”Π°Π»Π΅Π΅ для выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ просто Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ вас ΠΏΡƒΠ½ΠΊΡ‚ мСню.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:.

#include <conio.h>

#include.

#include.

#include.

#include.

#include.

#define menu_bg_color WHITE.

#define menu_sel_bg_color LIGHTGREEN.

#define menu_txt_color BLACK.

#define block_size 20.

#define str_maxlen 100.

#define str_maxkol 500.

#define symb_maxkol 50 000.

#define block_maxkol 1000.

typedef char tstring[str_maxlen];.

typedef char tblock[block_size];.

typedef struct {.

int x, y, dx, dy;.

char status[80], captions[10][25];.

} tmenu;.

int worktype;.

char filename[3][13]={" «,» «,» «};

tmenu menu1={30,10,19,4," Для управлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ клавиши<Π’Π²Π΅Ρ€Ρ…>,<οΏ½Π’Π½ΠΈΠ·>,<οΏ½Π’Π²ΠΎΠ΄>, <Esc>" ," Π Π°Π±ΠΎΡ‚Π° с ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" ," Π Π°Π±Ρ€Ρ‚Π° со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ" ," Π Π°Π±ΠΎΡ‚Π° с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ" ," Π’Ρ‹Ρ…ΠΎΠ΄" };

tmenu menu2={34,13,21,7," Π΄ Π”ля управлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ клавиши<οΏ½Π’Π²Π΅Ρ€Ρ…>,<οΏ½Π’Π½ΠΈΠ·>,<οΏ½Π’Π²ΠΎΠ΄>, <Esc>" ," Π’Ρ‹Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»Π°" ," ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»Π°" ," Π’Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ" ," ИзмСнСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ" ," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ" ," ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»Π°" ," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°" };

void showstatus (char s[]).

{.

window (1,25,80,25);.

textbackground (LIGHTGRAY);.

textcolor (BLACK);.

clrscr ();.

cprintf (s);.

}.

void showcaption (char s[]).

{.

window (1,1,80,1);.

textbackground (LIGHTGRAY);.

textcolor (BLACK);.

clrscr ();.

cprintf (s);.

}.

void showitem (tmenu m, int num, int sel).

{.

gotoxy (1,num+1);.

if (sel).

textbackground (menu_sel_bg_color);.

else textbackground (menu_bg_color);.

cprintf (m.captions[num]);.

}.

void border (int x, int y, int dx, int dy).

{.

int j;.

window (x-1,y-1,x+dx, y+dy);.

clrscr ();.

window (x-1,y-1,x+dx, y+dy+1);.

for (j=1; j<=dx; j++) {.

gotoxy (j+1,1);cprintf («=»);gotoxy (j+1,dy+2);cprintf (" =");.

}.

for (j=1; j<=dy; j++) {.

gotoxy (1,j+1);cprintf («Β¦»);gotoxy (dx+2,j+1);cprintf («Β¦»);.

}.

gotoxy (1,1);cprintf («Π³»);gotoxy (1,dy+2);cprintf («L»);.

gotoxy (dx+2,1);cprintf («„);gotoxy (dx+2,dy+2);cprintf (“ -»);.

}.

int menu (tmenu m, int save=0).

{.

int i, j, sel, cmd, buffer[2000];.

textbackground (menu_bg_color);.

textcolor (menu_txt_color);.

if (save) gettext (m.x-1,m.y-1,m.x+m.dx, m. y+m.dy, buffer);.

border (m.x, m. y, m. dx, m. dy);.

textbackground (menu_bg_color);.

window (m.x, m. y, m. x+m.dx-1,m.y+m.dy-1);.

clrscr ();.

showstatus (m.status);.

window (m.x, m. y, m. x+m.dx, m. y+m.dy);.

for (i=0; i.

showitem (m, i,0);.

sel=0;.

cmd=1;.

showitem (m, sel, 1);.

while ((cmd≠27)&&(cmd≠13)) {.

cmd=getch ();.

if (cmd==0) cmd=getch ();.

switch (cmd) {.

case 80:.

showitem (m, sel, 0);.

if (++sel==m.dy) sel=0;.

showitem (m, sel, 1);.

break;.

case 72:.

showitem (m, sel, 0);.

if (—sel<0) sel=m.dy-1;.

showitem (m, sel, 1);.

break;.

}.

}.

window (1,1,80,25);.

textbackground (BLUE);.

if (save) puttext (m.x-1,m.y-1,m.x+m.dx, m. y+m.dy, buffer);.

if (cmd==13) return (sel);.

else return (-1);.

}.

void inputbox (char caption[], int x, int y, int dx, char s[], int maxlen=12).

{.

char str[100], buffer[4000];.

textbackground (menu_bg_color);.

textcolor (menu_txt_color);.

gettext (x-1,y-1,x+dx, y+1,buffer);.

border (x, y, dx, 1);.

gotoxy (2,2);.

cprintf (caption);.

str[0]=maxlen+1;.

cgets (str);.

s[0]=NULL;.

memcpy (s, str+2,strlen (str)-1);.

window (1,1,80,25);.

textbackground (BLUE);.

puttext (x-1,y-1,x+dx, y+1,buffer);.

}.

void inputboxnum (char caption[], int x, int y, int dx, long &l).

{.

char buffer[4000], c;.

int i;.

textbackground (menu_bg_color);.

textcolor (menu_txt_color);.

gettext (x-1,y-1,x+dx, y+1,buffer);.

do {.

border (x, y, dx, 1);.

gotoxy (2,2);.

cprintf (caption);.

i=-1;.

cscanf («%i» ,&i);.

cscanf («%c» ,&c);.

} while (i==-1);.

l=i;.

window (1,1,80,25);.

puttext (x-1,y-1,x+dx, y+1,buffer);.

}.

char showmessage (int dx, int dy, char caption[], char text[], char type=0,int save=1).

{.

char buffer[4000], ch;.

if (save) gettext (39-dx/2,11-dy/2,41+dx/2,13+dy/2,buffer);

if (type==0){.

textcolor (menu_txt_color);.

textbackground (menu_bg_color);.

}.

else {.

textcolor (WHITE);.

textbackground (RED);.

}.

border (40-dx/2,12-dy/2,dx, dy);.

window (40-dx/2,11-dy/2,40-dx/2+dx-1,12-dy/2+dy);.

gotoxy ((dx-strlen (caption))/2,1);.

cprintf (caption);.

gotoxy (1,3);.

cprintf (text);.

ch=getch ();.

if (save) puttext (39-dx/2,11-dy/2,41+dx/2,13+dy/2,buffer);

return (ch);.

}.

int answeryn (char answer[]).

{.

if (toupper (showmessage (30,4," Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅", answer))=='Y').

return (1);.

else return (0);.

}.

void selectfile ().

{.

FILE *fp;.

char s[13];.

int ok;.

ok=0;.

inputbox («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π°: «, 20,11,40,s);

fp=fopen (s," r");.

if (fp==NULL) {.

if (answeryn («Π€Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ? (Y/N)»)){.

fp=fopen (s," w");.

if (fp==NULL).

showmessage(30,4," Ошибка!" ," Ошибка создания Ρ„Π°ΠΉΠ»Π°.!", 1);

else ok=1;.

}}.

else ok=1;.

if (ok==1) {.

fclose (fp);.

filename[worktype][0]=NULL;.

strcat (filename[worktype], s);.

showmessage (30,3," Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»:", filename[worktype]);

}.

}.

void viewfile ().

{.

char buffer[4000], buffer2[block_size+1];.

tstring s1;.

FILE *fp;.

int kol, lines;.

char s[40]="ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»Π°: «, c;

if (filename[worktype][0]==NULL).

showmessage (30,3," Ошибка" ," Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½", 1);

else {.

fp=fopen (filename[worktype]," rb");.

if (fp==NULL).

showmessage (30,3," Ошибка «,» Ошибка открытия Ρ„Π°ΠΉΠ»Π°", 1);

else {.

gettext (1,1,80,25,buffer);.

strcat (s, filename[worktype]);.

showcaption(s);

showstatus(«Π”ля продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ…»);

textcolor (WHITE);.

textbackground (BLUE);.

window (1,2,80,24);.

clrscr ();.

lines=0;.

switch (worktype) {.

case 0:{.

while (!feof (fp)){.

c=getc (fp);.

cprintf («%c», c);.

if (c=='n') lines++;.

if (lines==23){.

lines=1;.

getch ();.

}.

}.

break;

}.

case 1:{.

while (!feof (fp)){.

if (fgets (s1,str_maxlen, fp)){.

cprintf («%s», s1);.

lines++;.

if (lines==23){.

lines=1;.

getch ();.

}.

}.

}.

break;

}.

case 2:{.

while (!feof (fp)){.

kol=fread (buffer2,block_size, 1, fp);.

if (kol){.

buffer2[block_size]=NULL;.

cprintf («%s», buffer2);.

cprintf («rn»);.

lines++;.

if (lines==23){.

lines=1;

getch ();

}.

}.

}.

}.

}.

fclose (fp);.

getch ();.

puttext (1,1,80,25,buffer);.

}.

}.

}.

void inputdata ().

{.

char buffer[4000];.

FILE *fp;.

int i;.

char s[40]="Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»: «;

if (filename[worktype][0]==NULL).

showmessage(30,3," Ошибка «,» Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);

else {.

fp=fopen (filename[worktype]," ab");.

if (fp==NULL).

showmessage (30,3," Ошибка «,» Ошибка открытия Ρ„Π°ΠΉΠ»Π° «, 1);

else {.

textcolor (WHITE);.

textbackground (BLUE);.

gettext (1,1,80,25,buffer);.

clrscr ();.

strcat (s, filename[worktype]);.

showcaption (s);.

showstatus («ΠŸΠΎΡΠ»Π΅ окончания Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «);

switch (worktype) {.

case 0:{.

inputbox («Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ символы: «, 10,12,60,s, 40);

for (i=0;i.

putc (s[i], fp);

break;.

}.

case 1:{.

inputbox («Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ строку: «, 10,12,60,s, 40);

fputs (strcat (s," rn"), fp);.

break;.

}.

case 2:{.

inputbox («Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊ (21 символ): «, 10,12,60,s, block_size);

if (strlen (s).

while (strlen (s)≠block_size).

strcat (s," ?");

fwrite (s, block_size, 1, fp);

}.

}.

fclose(fp);

showstatus(«Π”ля продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ…»);

showmessage(30,3," Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…," Π”Π°Π½Π½Ρ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ записаны Π² Ρ„Π°ΠΉΠ».");

puttext (1,1,80,25,buffer);.

}.

}.

}.

void correct ().

{.

char buffer[4000];.

tstring s1, strs[str_maxkol];.

FILE *fp;.

int i, kol;.

long n;.

char s[40]="ИзмСнСниС Ρ„Π°ΠΉΠ»Π°: «;

if (filename[worktype][0]==NULL).

showmessage(30,3," Ошибка «,» Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);

else {.

if ((fp=fopen (filename[worktype]," r+b"))==NULL).

showmessage(30,3," Ошибка «,» Ошибка открытия Ρ„Π°ΠΉΠ»Π° «, 1);

else {.

textcolor (WHITE);.

textbackground (BLUE);.

gettext (1,1,80,25,buffer);.

clrscr ();.

strcat (s, filename[worktype]);.

showcaption (s);.

switch (worktype) {.

case 0:{.

showstatus («ΠΠΎΠΌΠ΅Ρ€ символа начиная с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ записаны Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ символа «, 25,12,30,n);

showstatus («ΠΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅»);

inputbox («Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ символы: «, 10,12,60,s, 40);

fseek (fp, n, SEEK_SET);

for (i=0;i.

putc (s[i], fp);

break;.

}.

case 1:{.

kol=0;.

while (!feof (fp)).

fgets (strs[kol++], str_maxlen, fp);

showstatus(«ΠΠΎΠΌΠ΅Ρ€ строки вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ записана новая строка»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ строки: «, 25,12,30,n);

showstatus («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ строку»);

inputbox («ΠΉΡƒeсїГБ Π―Π“Π±"Ρ€: «, 10,12,60,s, 40);

fclose (fp);

fp=fopen (filename[worktype]," w");.

fclose (fp);.

fp=fopen (filename[worktype]," r+b");.

strcat (s," rn");.

strcpy (strs[n], s);.

for (i=0;i.

fputs (strs[i], fp);

break;

}.

case 2:{.

showstatus («ΠΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ записан Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°: «, 25,12,30,n);

showstatus («Π’Π²ΠΎΠ΄ Π±Π»ΠΎΠΊΠ° (21 символ)»);

inputbox («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊ: «, 10,12,60,s, block_size);

if (strlen (s).

while (strlen (s)≠block_size).

strcat (s," ?");

fseek (fp, n*block_size, SEEK_SET);.

fwrite (s, block_size, 1, fp);.

}.

}.

fclose(fp);

showstatus(«Π”ля продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ…»);

showmessage(30,3," ИзмСнСниС Π΄Π°Π½Π½Ρ‹Ρ…" ," ИзмСнСниС Π² Ρ„Π°ΠΉΠ»Π΅ сдСланы");

puttext (1,1,80,25,buffer);.

}.

}.

}.

void delinfo ().

{.

char buffer[4000];.

tstring s1;.

FILE *fp;.

long kol, n, n1,i;.

char s[40]="Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°: «;

if (filename[worktype][0]==NULL).

showmessage (30,3," Ошибка" ," Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½", 1);

else {.

if ((fp=fopen (filename[worktype]," r+b"))==NULL).

showmessage(30,3," Ошибка «,» Ошибка открытия Ρ„Π°ΠΉΠ»Π° «, 1);

else {.

textcolor (WHITE);.

textbackground (BLUE);.

gettext (1,1,80,25,buffer);.

clrscr ();.

strcat (s, filename[worktype]);.

showcaption (s);.

switch (worktype) {.

case 0:

showstatus («ΠΠΎΠΌΠ΅Ρ€ символа ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ символа: «, 25,12,30,n);

showstatus («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ символов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ»);

inputboxnum («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ символов: «, 25,12,30,n1);

char sbuf[symb_maxkol];

kol=0;

while (!feof (fp)).

sbuf[kol++]=getc (fp);

freopen (filename[worktype]," wb", fp);.

for (i=0;i.

if ((i.

case 1:{.

kol=0;

tstring strs[str_maxkol];

while (!feof (fp)).

fgets (strs[kol++], str_maxlen, fp);

showstatus(«ΠΠΎΠΌΠ΅Ρ€ строки ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ строки: «, 25,12,30,n);

freopen (filename[worktype]," wb", fp);

for (i=0;i.

if (i≠n) fputs (strs[i], fp);

break;.

}.

case 2:{.

kol=0;.

tblock block[block_maxkol];.

while (!feof (fp)).

fread (block[kol++], block_size, 1, fp);

showstatus(«ΠΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ»);

inputboxnum («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°», 25,12,30,n);

freopen (filename[worktype]," wb", fp);

for (i=0;i.

if (i≠n) fwrite (block[i], block_size, 1, fp);

break;.

}.

}.

fclose (fp);.

showstatus («Π”ля продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ…»);

showmessage(30,3," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…" ," Π”Π°Π½Π½Ρ‹Π΅ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹");

puttext (1,1,80,25,buffer);.

}.

}.

}.

void clear ().

{.

FILE *fp;.

if (filename[worktype][0]==NULL).

showmessage (30,3," Ошибка" ," Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);

else {.

fp=fopen (filename[worktype]," w+b");.

if (fp==NULL).

showmessage (30,3," Ошибка «,» Ошибка открытия Ρ„Π°ΠΉΠ»Π° «, 1);

else {.

fclose (fp);.

showstatus («Π”ля продолТСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ…»);

showmessage (25,3," ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»Π°" ," Π€Π°ΠΉΠ» пуст");

}.

}.

}.

void del ().

{.

FILE *fp;.

if (filename[worktype][0]==NULL).

showmessage(30,3," Ошибка" ," Π Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ„Π°ΠΉΠ» Π½Π΅ Π·Π°Π΄Π°Π½ «, 1);

else.

if (remove (filename[worktype])).

showmessage(25,3," Ошибка. НСвозмоТно ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».", 1);

else {.

showmessage(25,3," Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°" ," Π€Π°ΠΉΠ» ΡƒΠ΄Π°Π»Π΅Π½ с Π΄ΠΈΡΠΊΠ°");

strset (filename[worktype], NULL);.

}.

}.

void main ().

{.

int cmd;.

textcolor (WHITE);.

textbackground (BLUE);.

clrscr ();.

worktype=menu (menu1);.

while ((worktype≠-1)&&(worktype≠3)) {.

cmd=menu (menu2,1);.

while (cmd≠-1) {.

switch (cmd) {.

case 0: selectfile ();break;.

case 1: viewfile ();break;.

case 2: inputdata ();break;.

case 3: correct ();break;.

case 4: delinfo ();break;.

case 5: clear ();break;.

case 6: del ();break;.

}.

cmd=menu (menu2,1);.

}.

worktype=menu (menu1);.

}.

}.

ОписаниС возмоТностСй языка Π‘, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ основныС стандартныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π»Π΅Π΅ ΠΏΠΎ Ρ‚Сксту прСдставлСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

Setcolor () — функция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Ρ†Π²Π΅Ρ‚ символов Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Setbkcolor () — функция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅..

Random (a) — функция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ случайноС число ΠΎΡ‚ 0 Π΄ΠΎ Π°..

Textcolor () — функция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Ρ†Π²Π΅Ρ‚ символов Π² Ρ‚Скстовой Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅..

Textbackground () — функция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Π² Ρ‚Скстовой Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅..

Π’ ΡΡ‚ΠΈΡ… функциях Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ… ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚Π°.

Strcpy (arg1,arg2) — функция, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ константу arg2 Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ константу arg1..

_setcursortype (arg) — функция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ курсора. Если arg = _NORMALCURSOR, Ρ‚ΠΎ ΠΊΡƒΡ€ΡΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄, Ссли ΠΆΠ΅ _NOCURSOR, Ρ‚ΠΎ ΠΊΡƒΡ€ΡΠΎΡ€Π° Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚..

Window () — функция, выводящая Π½Π° ΡΠΊΡ€Π°Π½ ΠΎΠΊΠ½ΠΎ Π² Ρ‚Скстовой Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅..

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±ΠΎΡ€Π° Switch{}. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ сопоставлСниС значСния с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ констант.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ break ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° switch. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… case Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, ΠΈ Π΅ΡΠ»ΠΈ провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚, выбираСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ default. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ default.

Strlen (n) — функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ колличСство символов Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠΉ константС n..

Gotoxy (x, y) — функция ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ x, y..

Strncpy () — функция, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство символов ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строковой константы Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ..

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠΌ:

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

void use_file (const char* fn).

{.

FILE* f = fopen (fn," w");.

// Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с f.

fclose(f);

}.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° символ строка Π±Π»ΠΎΠΊ ВсС это выглядит Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ любой ошибкС, ΠΏΡ€ΠΎΠΈΡΡˆΠ΅Π΄ΡˆΠ΅ΠΉ послС Π²Ρ‹Π·ΠΎΠ²Π° fopen () ΠΈ Π΄ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° fclose (), Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ особая ситуация, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π²Ρ‹ΠΉΠ΄Π΅ΠΌ ΠΈΠ· use_file (), Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ fclose ().

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ основныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ языка Π‘++, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹, условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ‚. Π΄..

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ расчСта. Анализ ΠΈ Ρ‚СстированиС.

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ появляСтся Π³Π»Π°Π²Π½ΠΎΠ΅ мСню:

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Π° этого мСню, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ подмСню:.

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ подмСню ΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΌΠΈ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΊΠΎΠΌΠΏΡŽΡŽΡ‚Π΅Ρ€Π°..

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

Π―Π·Ρ‹ΠΊ «C» (произносится «ΡΠΈ») — это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ выраТСния, соврСмСнный ΠΏΠΎΡ‚ΠΎΠΊ управлСния ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π―Π·Ρ‹ΠΊ «C» Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π½ΠΈ ΡΠ·Ρ‹ΠΊΠΎΠΌ «ΠΎΡ‡Π΅Π½ΡŒ высокого уровня», Π½ΠΈ «Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ» языком, ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ся для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ области примСнСния. Π½ΠΎ ΠΎΡ‚сутствиС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ‰Π½ΠΎΡΡ‚ΡŒ языка Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, Ρ‡Π΅ΠΌ языки, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅. Π―Π·Ρ‹ΠΊ «C», ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π²ΡˆΠΈΠΉΡΡ для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы «UNIX» Π½Π° Π­Π’Πœ DEC PDP-11, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° ΡΡ‚ΠΎΠΉ систСмС ДСннисом Π ΠΈΡ‡ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма, компилятор с ΡΠ·Ρ‹ΠΊΠ° «C» ΠΈ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ всС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСмы «UNIX» (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, использованноС ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ этой ΠΊΠ½ΠΈΠ³ΠΈ) написаны Π½Π° «C». ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΠ΅ компиляторы с ΡΠ·Ρ‹ΠΊΠ° «C» ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π­Π’Πœ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. Π―Π·Ρ‹ΠΊ «C», ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½ с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами ΠΈΠ»ΠΈ систСмами, ΠΈ Π½Π° Π½Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π­Π’Πœ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ «C» -компилятор.

А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ Π‘++?

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ понятиСм Π‘++ являСтся класс. Класс — это Ρ‚ΠΈΠΏ, опрСдСляСмый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠšΠ»Π°ΡΡΡ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ сокрытиС Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² для Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, динамичСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘++ прСдоставляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅, Ρ‡Π΅ΠΌ Π² C, срСдства выраТСния ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ нСпосрСдствСнно с ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π² ΡΠ΅Π±Ρ символичСскиС константы, inline-подстановку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ управлСния свободной ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ ΡΡΡ‹Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π’ Π‘++ сохранСны возмоТности языка C ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния (Π±ΠΈΡ‚Ρ‹, Π±Π°ΠΉΡ‚Ρ‹, слова, адрСса ΠΈ Ρ‚. ΠΏ.). Π­Ρ‚ΠΎ позволяСт вСсьма эффСктивно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹, опрСдСляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π‘++ ΠΈ Π΅Π³ΠΎ стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ спроСктированы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ. Π˜ΠΌΠ΅ΡŽΡ‰Π°ΡΡΡ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ рСализация языка Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… C. Из Π‘++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈ с Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C.

ЗамСчания для программистов Π½Π° C.

Π§Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Π΅Ρ‚ C, Ρ‚Π΅ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ окаТСтся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ писания Π½Π° C++ Π² ΡΡ‚ΠΈΠ»Π΅ C, тСряя, Ρ‚Π΅ΠΌ самым, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Ρ‹Π³ΠΎΠ΄Ρ‹ C++. Π’Π°ΠΌ указываСтся Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… C++ позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ C. ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ (#define) Π² C++ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹; Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ·Π³Π»Π°ΡˆΠ°Π΅ΠΌΡ‹Π΅ константы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ const ΠΈΠ»ΠΈ enum, ΠΈ inline — Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… расходов Π½Π° Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹ всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² — Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ вСских ΠΏΡ€ΠΈΡ‡ΠΈΠ½ этого Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. Аналогично, практичСски Π½Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡ Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ описаниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, — Π½Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π°. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ malloc () — опСрация new Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Ρƒ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π»ΡƒΡ‡ΡˆΠ΅. МногиС объСдинСния Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ся Π² ΠΈΠΌΠ΅Π½ΠΈ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСзымянныС объСдинСния.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°.

C++ Π±Ρ‹Π» Ρ€Π°Π·Π²ΠΈΡ‚ ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° программирования C ΠΈ Π·Π° ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ сохраняСт C ΠΊΠ°ΠΊ подмноТСство. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ язык, C ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ C++, спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ имССтся ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, опСрациями ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ нСпосрСдствСнно приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ: числами, символами ΠΈ Π°Π΄Ρ€Π΅ΡΠ°ΠΌΠΈ. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ свободной памяти new ΠΈ delete, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ выраТСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ C++ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ся Π² ΡΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Π’ C++ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Π² C. Π’ Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ этот довольно эффСктивный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ являСтся слишком Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌ, C++ функция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ подставлСна inline, удовлСтворяя, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, соглашСнию ΠΎ Π·Π°ΠΏΠΈΡΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… расходов Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. Одним ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ C Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ вмСсто программирования Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ Π² ΡΠ°ΠΌΡ‹Ρ… насущных Π·Π°Π΄Π°Ρ‡Π°Ρ… систСмного программирования. Когда проСктировался C++, Π±Ρ‹Π»ΠΈ приняты ΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ успСхи Π² ΡΡ‚ΠΎΠΉ области. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ C ΠΈ C++ состоит Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΠΈ внимания, удСляСмого Ρ‚ΠΈΠΏΠ°ΠΌ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠΌ. C Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½ ΠΈ ΡΠ½ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅Π½. C++ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этой Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, программист Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ большС внимания Ρ‚ΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Когда извСстны Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², компилятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ выраТСния, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС программисту ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ дСйствия с ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ подробностями. Π—Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ позволяСт компилятору ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π±Ρ‹ Π΄ΠΎ Ρ‚Сстирования. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ использованиС систСмы Ρ‚ΠΈΠΏΠΎΠ² для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ³ΠΎ искаТСния, Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚. Π΄., само ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ расходов ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ ΠΏΠ°ΠΌΡΡ‚ΠΈ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡƒΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ C++ структурС, ΠΎΡ‚Ρ€Π°Π·ΠΈΠ»ΠΎΡΡŒ Π½Π° Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных со Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C. ΠœΠ°Π»Π΅Π½ΡŒΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (мСньшС 1000 строк) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Ρ€ΡƒΠ±ΠΎΠΉ силы, Π΄Π°ΠΆΠ΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ всС ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ стиля. Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² это Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Ρ‚Π°ΠΊ. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² 10 000 строк ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΡƒΡŽ структуру, Ρ‚ΠΎ Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ошибки ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ старыС. C++ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΏΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π² 25 000 строк. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΊΠ°ΠΊ оказываСтся, состоят ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΎΠ³ΠΎ числа ΠΏΠΎΡ‡Ρ‚ΠΈ нСзависимых частСй, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠ². ЕстСствСнно, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ зависит ΠΎΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΎΡ‚ Ρ‡ΠΈΡΠ»Π° строк тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ сообраТСния, Π½Π΅ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ слишком ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ. НС ΠΊΠ°ΠΆΠ΄Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурирована, нСзависима ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠ° ΠΈ Ρ‚. ΠΏ. C++ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ возмоТностями, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСпосрСдствСнно ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ срСдствами, Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΡΡΡŒ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ простотС понимания. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΡΠ»Π΅Π³Π°Π½Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ интСрфСйсами. Π’ ΡΡ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ особый Π°ΠΊΡ†Π΅Π½Ρ‚ дСлаСтся Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… создания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΈ срСдства пригодятся ΠΊΠ°ΠΊ Ρ‚Π΅ΠΌ программистам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ нСбольшиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ большиС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоят ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΎΠ³ΠΎ числа полунСзависимых частСй, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ написания Ρ‚Π°ΠΊΠΈΡ… частСй пригодятся ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹ΠΌ, ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ программистам. Π£ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ спСцификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ систСмы Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ исходных тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ C++ это Π½Π΅ Ρ‚Π°ΠΊ; C++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ классы ΠΈ Ρ‚. Π΄., ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ эквивалСнтной C ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эти срСдства Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ся.

1. Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп «Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ·Ρ‹ΠΊ Π‘++».

2. Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Borland C++».

3. А. Π›. Π€Ρ€ΠΈΠ΄ΠΌΠ°Π½ «ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++».

4. Π’. А. Павловская «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня».

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