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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для обслуТивания администрации Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°, ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ части Π²ΡƒΠ·Π°, ΠΊΠΎΠΌΠ΅Π½Π΄Π°Π½Ρ‚Π° общСТития, Ρ€Π°Π·Π½Ρ‹Ρ… сфСр Π±Ρ‹Ρ‚Π°

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

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для обслуТивания администрации Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°, ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ части Π²ΡƒΠ·Π°, ΠΊΠΎΠΌΠ΅Π½Π΄Π°Π½Ρ‚Π° общСТития, Ρ€Π°Π·Π½Ρ‹Ρ… сфСр Π±Ρ‹Ρ‚Π° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ˜ΠΠ˜Π‘Π’Π•Π Π‘Π’Π’Πž ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― И ΠΠΠ£ΠšΠ˜ УКРАИНЫ Π₯ΠΠ Π¬ΠšΠžΠ’Π‘ΠšΠ˜Π™ ΠΠΠ¦Π˜ΠžΠΠΠ›Π¬ΠΠ«Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’ Π ΠΠ”Π˜ΠžΠ­Π›Π•ΠšΠ’Π ΠžΠΠ˜ΠšΠ˜ ΠšΠ°Ρ„Π΅Π΄Ρ€Π° Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π Π’Π΅ΠΌΠ°: «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для обслуТивания администрации Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°, ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ части Π²ΡƒΠ·Π°, ΠΊΠΎΠΌΠ΅Π½Π΄Π°Π½Ρ‚Π° общСТития, Ρ€Π°Π·Π½Ρ‹Ρ… сфСр Π±Ρ‹Ρ‚Π°»

По Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»

ΠŸΠžΠ―Π‘ΠΠ˜Π’Π•Π›Π¬ΠΠΠ― Π—ΠΠŸΠ˜Π‘ΠšΠ Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ xxxxxx.

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ Π³Ρ€. xxxxxx xxxxxxx.

Π₯Π°Ρ€ΡŒΠΊΠΎΠ² 2008

1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° задания ΠΈ ΡΡ„Π΅Ρ€Π° Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ

2. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

3. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΡΡ€Π΅Π΄Π΅ VisualC++

4. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация

4.1. ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4.2. ОписаниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств

4.3. ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

5. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π’Ρ‹Π²ΠΎΠ΄Ρ‹ Бписок использованной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А Π’Скст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

РЕЀЕРАВ Записка ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅: 41 с., 9 рис, 5 Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², 1 ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, 4 источника.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ исслСдованияиспользования структур ΠΈ ΡΡ‚Ρ€ΠΎΠΊ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для обслуТивания Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ исслСдования — ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, составлСниС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для обслуТивания Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ собой Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ запросов для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, содСрТащСйся Π² ΡΡ‚ΠΎΠΉ Π±Π°Π·Π΅.

НаиболСС ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ структур ΠΈ ΡΡ‚Ρ€ΠΎΠΊ являСтся ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ возмоТности примСнСния структур ΠΈ ΡΡ‚Ρ€ΠΎΠΊ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ Π² ΡΡ€Π΅Π΄Π΅ Visual C++.

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

БВРОКА, БВРУКВУРА, ΠœΠΠ‘Π‘Π˜Π’, ЀУНКЦИЯ, ΠŸΠΠ ΠΠœΠ•Π’Π , ΠžΠŸΠ•Π Π•Π’ΠžΠ , ВИП.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ — это ΠΏΡ€ΠΈΠ±ΠΎΡ€, способный ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вычислСния ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ логичСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ Ρ€Π°Π· быстрСС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. НапримСр, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСсятки ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ с Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π±Ρ‹ дСсятилСтия для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый объСм вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ выполняСт Π·Π° ΠΎΠ΄Π½Ρƒ сСкунду. БСгодняшниС самыС быстрыС ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сотни ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ — это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅, сколько сотни тысяч людСй ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π° Π³ΠΎΠ΄. А Π² ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… лабораториях ΡƒΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ с Π±Ρ‹ΡΡ‚родСйствиСм Π² Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ.

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ дСйствия ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° посрСдством упорядочСнных Π½Π°Π±ΠΎΡ€ΠΎΠ² дСйствий, описанных людьми, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ программистами.

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

1 ΠŸΠžΠ‘Π’ΠΠΠžΠ’ΠšΠ Π—ΠΠ”ΠΠΠ˜Π―

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сСрвисных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для обслуТивания администрации Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π°, ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ части Π²ΡƒΠ·Π°, ΠΊΠΎΠΌΠ΅Π½Π΄Π°Π½Ρ‚Π° общСТития, Ρ€Π°Π·Π½Ρ‹Ρ… сфСр Π±Ρ‹Ρ‚Π°.

2 Π’Π•ΠžΠ Π•Π’Π˜Π§Π•Π‘ΠšΠΠ― ЧАБВЬ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ — это составныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, построСнныС с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры:

struct Time {

int hour; // 0−23

int minute; // 0−59

int second; // 0−59 };

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово struct Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Time — Ρ‚Π΅Π³ (ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, имя-этикСтка) структуры. Вэг структуры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… структур Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ имя Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° — Time. ИмСна, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках описания структуры — это элСмСнты структуры. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ структуры Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π½ΠΎ Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ структуры ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. КаТдоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ объяснСниС, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΡΠΊΠΎΡ€Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π²Π΅Ρ€Π½ΠΎ ΠΈ Π΄Π»Ρ классов.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Time содСрТит Ρ‚Ρ€ΠΈ элСмСнта Ρ‚ΠΈΠΏΠ° int — hour, minute ΠΈ second (часы, ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ ΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ структуры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ° ΠΈ ΠΎΠ΄Π½Π° структура ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ элСмСнты ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ экзСмпляры самой сСбя. НапримСр, элСмСнт Ρ‚ΠΈΠΏΠ° Time Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ объявлСн Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ структуры Time. Однако, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ структуру Time. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, содСрТащая элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ структурный Ρ‚ΠΈΠΏ, называСтся структурой с ΡΠ°ΠΌΠΎΠ°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ с ΡΠ°ΠΌΠΎΠ°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для формирования связных структур Π΄Π°Π½Π½Ρ‹Ρ… (см. Π³Π»Π°Π²Ρƒ 15).

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ пространства Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ; ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создаСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ структуры ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². ОбъявлСниС

Time timeObject, timeArray[10], *timePtr;

ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ timeObject ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° Time, timeArray — массивом с 10 элСмСнтами Ρ‚ΠΈΠΏΠ° Time, a timePtr — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Time.

Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ структуры Для доступа ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ структуры (ΠΈΠ»ΠΈ класса) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ доступа ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ — опСрация Ρ‚ΠΎΡ‡ΠΊΠ° (.) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ стрСлка (->). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΡ‡ΠΊΠ° обращаСтся ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ структуры (ΠΈΠ»ΠΈ класса) ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ элСмСнт hour структуры timeObject ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

cout «timeObject.hour;

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ стрСлка, состоящая ΠΈΠ· Π·Π½Π°ΠΊΠ° минус (-) ΠΈ Π·Π½Π°ΠΊΠ° большС (>), записанных Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»Π°, обСспСчиваСт доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ структуры (ΠΈΠ»ΠΈ класса) Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Допустим, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ timePtr Π±Ρ‹Π» ΡƒΠΆΠ΅ объявлСн ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Time ΠΈ Ρ‡Ρ‚ΠΎ адрСс структуры timeObject Π±Ρ‹Π» ΡƒΠΆΠ΅ присвоСн timePtr. Π’ΠΎΠ³Π΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ элСмСнт hour структуры timeObject с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ timePtr, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

cout «timePtr->hour;

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ timePtr->hour; эквивалСнтно (*timePtr).hour, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ доступным элСмСнт hour Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΡ‡ΠΊΠ°. Π‘ΠΊΠΎΠ±ΠΊΠΈ Π½ΡƒΠΆΠ½Ρ‹ здСсь ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ опСрация Ρ‚ΠΎΡ‡ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ опСрация разымСнования указатСля (*). ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ стрСлка ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° наряду с ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌΠΈ ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ (послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ области дСйствия, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² Π³Π»Π°Π²Π΅ 3) ΠΈ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.2

ИспользованиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ° Time с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Struct

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Ρ€ΠΈΡ. 6.1 создаСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏ структуры Time с Ρ‚рСмя Ρ†Π΅Π»Ρ‹ΠΌΠΈ элСмСнтами: hour, minute ΠΈ second. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° опрСдСляСт Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ структуру Ρ‚ΠΈΠΏΠ° Time, Π½Π°Π·Π²Π°Π½Π½ΡƒΡŽ dinnerTime, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΡ‡ΠΊΠ° для присвоСния элСмСнтам структуры Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 18 для hour, 30 для minute ΠΈ Πž Π΄Π»Ρ second. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ врСмя Π² Π²ΠΎΠ΅Π½Π½ΠΎΠΌ (24-часовом) ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ (12-часовом) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ссылки Π½Π° ΠΏΠΎΡΡ‚оянныС структуры Ρ‚ΠΈΠΏΠ° Time. Π­Ρ‚ΠΎ являСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ структуры Time ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‰ΠΈΠΌ функциям ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠ΅ — этим ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, связанныС с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ структур функциям ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ const ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры Ρ‚ΠΈΠΏΠ° Time функциями ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π’ Π³Π»Π°Π²Π΅ 7 ΠΌΡ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ const ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-элСмСнты const.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ прСпятствия созданию Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ способом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ структур. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ инициализация структур ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ‚рСбуСтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ΡΡŽΠ΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π”Π°ΠΆΠ΅ Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π±Ρ‹Π»ΠΎ сдСлано Π½Π΅Π²Π΅Ρ€Π½ΠΎ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ значСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ присвоСны элСмСнтам структуры (ΠΊΠ°ΠΊ ΠΌΡ‹ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π° Ρ€ΠΈΡ. 6.1), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ прямой доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° присвоила ΠΏΠ»ΠΎΡ…ΠΈΠ΅ значСния всСм Ρ‚Ρ€Π΅ΠΌ элСмСнтам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° dinnerTime Ρ‚ΠΈΠΏΠ° Time. Если рСализация struct измСнится (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, врСмя Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ прСдставляСтся какчисло сСкунд послС ΠΏΠΎΠ»ΡƒΠ½ΠΎΡ‡ΠΈ), Ρ‚ΠΎ Π²ΡΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ struct, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. НС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ «ΠΈΠ½Ρ‚СрфСйса», Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ программист ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ.

// FIG61.CPP

// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ структуры, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ².

#include

struct Time { int hour; int minute; int second;

//ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры // 0−23 // 0−59 // 0−59

void printMilitary (const Time &); void printStandard (const Time S) ;

// ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ // ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ

main () {

Time _ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ;

// пСрСмСнная Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Time

// Π·Π°Π΄Π°Π½ΠΈΠ΅ элСмСнтам ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… значСния _ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ.hour = 18; _ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ.minute = 30; _ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ.second = 0;

cout ««ΠžΠ±Π΅Π΄ состоится Π² «;

printMilitary (_ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ) ;

cout «» ΠΏΠΎ Π²ΠΎΠ΅Π½Π½ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ," «endl

" «Ρ‡Ρ‚ΠΎ соотвСтствуСт «; printStandard (dinnerTime); cout «» ΠΏΠΎ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.» «endl;

// Π·Π°Π΄Π°Π½ΠΈΠ΅ элСмСнтам Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ dinnerTime. hour = 29; dinnerTime. minute = 73; dinnerTime. second = 103;

cout «endl ««Π’рСмя с Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями: «; printMilitary (_ΠΎΠ»Π΅Π΅_Π½Π½Ρ‹ΠΉ); cout «endl; return 0;

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС со ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ Π² ΡΡ‚ΠΈΠ»Π΅ Π‘. Π’ Π‘ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ элСмСнту с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ. Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ элСмСнтов структуры Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ подходящСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ написана функция. Π“Π»Π°Π²Π° 8, «ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ «, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ простой ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° структура (C++ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ понятиС структуры) ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° класс. Π’ Π‘ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ нСльзя ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π² Ρ†Π΅Π»ΠΎΠΌ; ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ элСмСнт Π·Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Π“Π»Π°Π²Π° 8 ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ равСнства ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π² Π‘ΠΈ++ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² структура ΠΈ ΠΊΠ»Π°ΡΡ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ Π²Π½ΠΎΠ²ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π°ΡˆΡƒ структуру Time, Π½ΠΎ ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ класс, ΠΈ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства создания Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ классы. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ классы ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π² C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ состоит Π² Π΄ΠΎΡΡ‚упности ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ элСмСнтов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ объяснСно ΠΏΠΎΠ·ΠΆΠ΅.

2.1 Π Π°Π±ΠΎΡ‚Π° со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ Π² Π‘++

ΠžΡ‡Π΅Π½ΡŒ часто, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сводятся ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ строками. Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ язык Π‘++ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ строковый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π² Π‘++ - это массив символов, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ символом ('').

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ строки двумя способами: ΠΊΠ°ΠΊ массив символов ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

char str1[10] = «string1»; // объявлСниС строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массива символов Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π’Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ массив — это Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ Π²ΠΎΡ‚ строка Π΅ΡΡ‚ΡŒ Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ символов, ΠΈ, соотвСтствСнно, для хранСния строк ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ массивы. НапримСр, строка «QWERTY» _ΠΎΠ»Π΅Π΅ Ρ‚ΠΈΠΏ char[7], Π° ΠΏΡƒΡΡ‚ая строка «» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ char[1]. ΠŸΠΎΡ‡Π΅ΠΌΡƒ char[1]? ИмСнно ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ любая строка Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ символом, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ символом, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² ASCII-Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ€Π°Π²Π΅Π½ 0 (этот символ Ρ‚Π°ΠΊΠΆΠ΅ являСтся escape-символом ΠΈ Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ эквивалСнт прСдставляСтся ΠΊΠ°ΠΊ ''). Благодаря этому свойству Π’Ρ‹ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† строки, Ссли Ρƒ Π’ас строка Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшСС количСство символов, Ρ‡Π΅ΠΌ-Ρ‚ΠΎ количСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΠΏΡ€ΠΈ оъявлСнии массива, Ρ‚. Π΅. ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строки, хранящСйся Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.

Одна ΠΈΠ· Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… особСнностСй ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. НапримСр, ОбъявлСниС char str[] = «ABCDE»; присваиваСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-строкС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ABCDE». А Ρ‚ΠΎΡ‡Π½Π΅Π΅, создаСт массив ΠΈΠ· 6 символов:

'A','B','C','D','E' ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ''.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ инициализация символьного массива Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ массива — ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ строку ΠΈΠΌΠ΅Π½ΠΈ массива с ΠΏΡƒΡΡ‚Ρ‹ΠΌΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками. Π‘++ сам подсчитаСт Π΄Π»ΠΈΠ½Ρƒ строки ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ объСм памяти ΠΏΠΎΠ΄ массив для размСщСния Π² Π½Π΅ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ строки.

Π‘Ρ€Π°Π·Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π‘++ сам автоматичСски сдСлаСт послСдний элСмСнт массива Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ символом (Π° Π’Ρ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ любая строка ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заканчиваСтся Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ символом), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, хотя Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π’Ρ‹ ΠΌΠ°ΡΡΠΈΠ²Ρƒ str присваиваСтС строку «ABCDE», Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ составляСт 5 символов, C++ выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ 6 символов, записываСт Ρ‚ΡƒΠ΄Π° строку ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ (пятый ΠΏΡ€ΠΈ счСтС ΠΎΡ‚ 0) записываСт Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ символьного массива (ΠΊΠ°ΠΊ ΠΈ Π»ΡŽΠ±ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ с Ρ†Π΅Π»ΡŒΡŽ дальнСйшСго использования массива Π΅Ρ‰Π΅ для ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ†Π΅Π»Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для хранСния Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ строки):

ОбъявлСниС char str[10] = «ABCDE»; создаСт массив ΠΈΠ· 10 символов ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ элСмСнтов этого массива ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ значСния 'A','B','C','D' ΠΈ 'E' соотвСтствСнно, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ символы Π±ΡƒΠ΄ΡƒΡ‚ ноль-символы.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 5 элСмСнтов массива записываСтся строка «ABCDE», Π° Π²ΡΠ΅ΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½ΡƒΠ»ΠΈ.

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

Char str[]={`A','B','C','D','E',''};

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ ******** Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строкового массива Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, Π½ΠΎ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивов.

Випичная ошибка программирования. НС Π²Ρ‹Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ достаточно мСста Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ символов для хранСния Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ символа, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ строку.

Випичная ошибка программирования. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ использованиС «ΡΡ‚Ρ€ΠΎΠΊΠΈ», которая Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ символа.

Випичная ошибка программирования. ΠŸΡƒΡ‚Π°ΡŽΡ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ константы.

Бимвольная константа — это ΠΎΠ΄ΠΈΠ½ символ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Π°ΠΏΠΎΡΡ‚Ρ€ΠΎΡ„Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 'A' ΠΈΠ»ΠΈ 'n'. Бтроковая константа — это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’ Ρ‡ΠΈΡΠ»Π΅ символов строки ΠΌΠΎΠ³ΡƒΡ‚ находится Π»ΡŽΠ±Ρ‹Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ константы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «Visual C++n» состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… символов: 'V', 'i', 's', 'u', 'a', 'l', ' ', 'C', '+', '+', 'n', ''. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, «A» — это строковая константа ΠΈ ΡΠΎΡΡ‚ΠΎΠΈΡ‚ ΠΈΠ· Π΄Π²ΡƒΡ… символов: 'A' ΠΈ ''. БосСдниС строковыС константы транслятором «ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡŽΡ‚ΡΡ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: «ΠΠ‘Π’» «Π“Π”Π•» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ «ΠΠ‘Π’Π“Π”Π•».

Рассмотрим нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

//Π—Π°Π΄Π°Π½Π° строка, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив.

#include

void main ()

{

char str1 [ ] = «1 234 567 890», /* объявляСм ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив str1 ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ */

str2[11]; // объявляСм ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив Π±Π΅Π· ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

/* Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡ‚рСтится ΠΊΠΎΠ½Π΅Ρ† строки присваиваСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнту массива str2 символ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° str1

*/

for (int I = 0; str1[i] ≠ `'; i++) str2[i] = str1[i];

// ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ноль-символ Π² str2.

Str2 [i] = '';

cout << str2 << 'n'; // Π²Ρ‹Π²ΠΎΠ΄ строки Π½Π° ΡΠΊΡ€Π°Π½

}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° происходит, ΠΊΠΎΠ³Π΄Π° str1[i] Ρ€Π°Π²Π½ΠΎ ноль-символу, Ρ‚. Π΅. ноль-символ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ся Π² str2, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ это Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ массивами — Ссли элСмСнты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ массива ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ элСмСнту Π² Ρ†ΠΈΠΊΠ»Π΅, Ρ‚ΠΎ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ ввСсти сразу всю строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Π²ΠΎΠ΄Π°

cin >> Имя_массива;

ΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вывСсти сразу всю строку Π½Π° ΡΠΊΡ€Π°Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π²ΠΎΠ΄Π°

cout << Имя_массива;

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ сразу ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cin автоматичСски добавляСт Π² ΠΊΠΎΠ½Π΅Ρ† строки Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΊΡ‚ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ количСства элСмСнтов ΠΏΡ€ΠΈ объявлСнии массива.

НапримСр,

#include

void main ()

{

char str[31]; // объявлСниС символьного массива

cout<<οΏ½"Enter a string (max 30 symbols):";

cin>>str; // Π²Π²ΠΎΠ΄ строки

cout<<οΏ½"nYou enter string:"<

}

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ 31 символ, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ указываСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти строку с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ максимум 30 символов, учитывая Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cin Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ Π² ΠΊΠΎΠ½Π΅Ρ† строки автоматичСски, ΠΈ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти. Π”Π°Π»Π΅Π΅ послС ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π²Π²ΠΎΠ΄ΠΈΠΌ сразу всю строку с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π·Π°Ρ‚Π΅ΠΌ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ сообщСниСм Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ всю строку Π½Π° ΡΠΊΡ€Π°Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ опрСдСлСния строки — это использованиС указатСля Π½Π° ΡΠΈΠΌΠ²ΠΎΠ». ОбъявлСниС

char *b;

Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ b, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ адрСс Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Однако Π² Π΄Π°Π½Π½ΠΎΠΌ случаС компилятор Π½Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ мСсто для хранСния символов ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ b ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, присвоив b ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив, ΠΈΠ»ΠΈ динамичСски Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Π½ΠΎΠ²Ρ‹ΠΉ массив. НапримСр,

#include

void main ()

{

char str[] = «Π—дравствуй, ΠΌΠΈΡ€!»; // объявляСм ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив

char *b; // объявляСм ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»

b = &str[12]; // Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ b ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° 12-Ρ‹ΠΉ символ str

*b = 'M'; // присваиваСм ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту b ΡΠΈΠΌΠ²ΠΎΠ» 'М'

cout << b; // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ строку b Π½Π° ΡΠΊΡ€Π°Π½ (ΠœΠΈΡ€!)

}

3. ΠžΠ‘ΠžΠ‘Π•ΠΠΠžΠ‘Π’Π˜ Π ΠΠ‘ΠžΠ’Π« Π’ Visual C++

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

4 ΠŸΠ ΠžΠ“Π ΠΠœΠœΠΠΠ― Π Π•ΠΠ›Π˜Π—ΠΠ¦Π˜Π―

4.1 ОписаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ структуры ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» использован Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС сортировка ΠΏΠΎ ΡƒΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡ‚ΠΈ). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт Π΄Π²Π° массива, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива являСтся структурой с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ массивС, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт являСтся структурой с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «predmety» содСрТится Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ студСнт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ†Π΅Π½ΠΊΠΈ (названия ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² вводятся с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива содСрТит ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ структуру Ρ‚ΠΈΠΏΠ° «predmety»

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ массивС содСрТится информация ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅: фамилия, имя, отчСство, Π³ΠΎΠ΄, мСсяц, дСнь роТдСния, Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚, Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, адрСс проТивания, ΠΈ ΠΌΠ°ΡΡΠΈΠ² чисСл с ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ 8 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

4.2 ОписаниС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк

Π’ ΡΡ‚ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ функциями стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ string.h. Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк, которая обСспСчиваСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сравнСниС строк, поиск Π² ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… символов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… подстрок, Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ строк (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строк Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ куски) ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ строки.

1. Ѐункция int strlen (const char* s); - опрСдСляСт Π΄Π»ΠΈΠ½Ρƒ строки s. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅ΠΌΡƒ Π½ΡƒΠ»Π΅Π²ΠΎΠΌΡƒ символу. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ ноль-символ Π² Π΄Π»ΠΈΠ½Ρƒ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся. НапримСр,

2. cout << strlen («Hello!»); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 6

3.

4. char *str = «one»;

5. cout << strlen (str); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 3

6. Ѐункция char *strcpy (char *s1, const char *s2); - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ строку s2 Π² ΠΌΠ°ΡΡΠΈΠ² символов s1. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ s1. Массив символов s1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достаточно большим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строку ΠΈ Π΅Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ копируСтся. НапримСр,

7. char str[25]; // объявляСм ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ массив ΠΈΠ· 25 элСмСнтов

8. char *ps = new char [25]; /* объявляСм ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ

9. динамичСски выдСляСм ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ 25 символов */

10.

11. strcpy (str, «ABCDE»); // ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π² str ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΡŽ константу «ABCDE»

12. cout << str; // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ str Π½Π° ΡΠΊΡ€Π°Π½. На ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ABCDE

13.

14. strcpy (ps, «QWERTY»); // ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π² ps ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΡŽ константу «QWERTY»

15. cout << ps; // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ps Π½Π° ΡΠΊΡ€Π°Π½. На ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ QWERTY

16.

17. delete[] ps; // освобоТдаСм ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ссли Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½Π° строка содСрТала Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅, Π° Π½Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ! Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС инструкция ps = «QWERTY» Π±Ρ‹Π»Π° Π±Ρ‹ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Π°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, встрСчая Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ строку «QWERTY», Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ адрСса этой строки (адрСса символа Q) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ps. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, тСряСтся исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ps, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ps.

18. Ѐункция int *strcmp (const char *s1, const char *s2); - сравниваСт строки s1 ΠΈ s2 (ΠΏΠΎ ASCII-ΠΊΠΎΠ΄Π°ΠΌ). Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Ссли строки s1 ΠΈ s2 Ρ€Π°Π²Π½Ρ‹, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС ноля, Ссли строка s1 мСньшС s2, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС ноля, Ссли s1 большС s2. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, строки ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, Π° ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎ, ΠΏΠΎ ASCII-ΠΊΠΎΠ΄Π°ΠΌ (Ρ‚.Π΅. «g» большС «ff»). НапримСр,

19. cout << strcmp («compare», «string»); /* Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ -1, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ

20. «compare» мСньшС «string» */

21.

22. cout << strcmp («abcde», «abc»); /* Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 1, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ

23. «abcde» большС «abc» */

24. cout << strcmp («one», «one»); /* Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 0, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ

25. строки Ρ€Π°Π²Π½Ρ‹ */

26. Ѐункция char *strcat (char *s1, const char *s2); - добавляСт строку s2 ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠ΅ s1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ символ строки s2 записываСтся ΠΏΠΎΠ²Π΅Ρ€Ρ… ноль-символа строки s1. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s1. Под s1 Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ памяти Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ Ρ‡Π΅ΠΌ (strlen (s1)+strlen (s2)+1). НапримСр,

27. char st1[25] = «Π”Π΅Π½ΡŒ»;

cout << strcat (st1, «Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ!»); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π”Π΅Π½ΡŒ Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ!

28. Ѐункция char *strncpy (char *s1, const char *s2, int n); - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ _ΠΎΠ»Π΅Π΅ n ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² строки s2 Π² ΠΌΠ°ΡΡΠΈΠ² символов s1. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s1.

29. Ѐункция char *strncmp (char *s1, const char *s2, int n); - сравниваСт Π΄ΠΎ n ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² строки s1 со ΡΡ‚Ρ€ΠΎΠΊΠΎΠΉ s2. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, мСньшС, Ρ‡Π΅ΠΌ 0 ΠΈΠ»ΠΈ большС, Ρ‡Π΅ΠΌ 0, Ссли s1 соотвСтствСнно Ρ€Π°Π²Π½, мСньшС ΠΈΠ»ΠΈ большС s2.

30. Ѐункция char *strncat (char *s1, const char *s2, int n); - присоСдиняСт ΠΏΠ΅Ρ€Π²Ρ‹Π΅ n ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² строки s2 Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s1. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ s1.

31. Ѐункция char *strchr (const char *s, int c); - провСряСт строку s Π½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ символа хранящСгося Π² c. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся адрСс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа c Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s. Если символ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, возващаСтся NULL. НапримСр,

32. char str[20] = «ABCDEXYZ»;

cout << strchr (str, 'X'); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ XYZ

ΠΈΠ»ΠΈ

char str[20] = «ABCDEXYZ»;

if (strchr (str, 'q') == NULL) cout << «ΠΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ символа!»;

33. Ѐункция char *strstr (const char *s1, const char *s2); - провСряСт строку s1 Π½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ подстроки s2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ являСтся адрСс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния подстроки s2 Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ s1. Если подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, возващаСтся NULL. НапримСр,

34. char str[20] = «ABCDEXYZ»;

35. char *ps = strstr (str, «DEX»);

36. if (ps ≠ NULL)

37. cout << ps;

38. else

39. cout << «ΠΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ подстроки!»;

40.

// На ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ DEXYZ

41. Ѐункция char *strlwr (char *s); - ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ строку ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру (Ρ‚.Π΅. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ строку Π² ΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ символы). НапримСр,

42. char str[30] = «ABCDE123_ijk_XYZ»;

43. cout << strlwr (str);

44.

// Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ abcde123_ijk_xyz

45. Ѐункция char *strupr (char *s); - ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ строку ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру (Ρ‚.Π΅. ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ строку Π² ΠΏΡ€ΠΎΠΏΠΈΡΠ½Ρ‹Π΅ символы).

46. Ѐункция char *strset (char *s, int ch); - замСняСт Π’Π‘Π• символы Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ s Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ch. НапримСр,

47. char str[30] = «ABCDE»;

cout << strset (str, 'x'); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ xxxxx

48. Ѐункция char *strnset (char *s, int ch, int n); - замСняСт ΠΏΠ΅Ρ€Π²Ρ‹Π΅ n ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ s Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ch.

49. Ѐункция char *strrev (char *s); - мСняСт порядок слСдования символов Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ (мСняСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ с ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ символ с ΠΏΡ€Π΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΈ Ρ‚. Π΄.). НапримСр,

50. char str[30] = «12 345»;

cout << strrev (str); // Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ 54 321

4.1.3 ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° студСнтов ΠΏΠΎ ΡƒΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡ‚ΠΈ.

Алгоритм Из ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° массива Ρ‚ΠΈΠΏΠ° student ΠΊΠΎΡ‚Ρ€Ρ‹ΠΉ содСрТит Π² ΡΠ΅Π±Π΅ массив с ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌΠΈ ball с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sortirovka находится срСдний Π±Π°Π»Π» (сумма Π±Π°Π»ΠΎΠ² ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ дСлится Π½Π° ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ²). Π—Π°Ρ‚Π΅ΠΌ этот Π±Π°Π»Π» Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π±Π°Π»Π»Π° ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ список студСнтов ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ срСдниС Π±Π°Π»Π»Ρ‹.

void one (student student1[100])//функция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

{

for (i=0;i

{

if ((base[i]. srednyi_ball>=0)&&(base[i].srednyi_ball<=60))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball nizhe 60:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<<" «;

cout<<<" «;

cout<<<" «;

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=60)&&(base[i].srednyi_ball<=75))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 60 i nizhe 75:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=75)&&(base[i].srednyi_ball<=90))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 75 i nizhe 90:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=90)&&(base[i].srednyi_ball<=100))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 90 nizhe 100:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

} } k++;

}

Π’ΠΎΡ‚ функция для нахоТдСния срСднСго Π±Π°Π»Π»Π°

float sortirovka (int ball[100], int kolvo_predmetov)

{ float sum=0;

for (int i=0;i

{

sum+=ball[i]; //Π‘ΡƒΠΌΠΌΠ° Π±Π°Π»Π»ΠΎΠ² ΠΏΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ

}

return sum/kolvo_predmetov;//Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ срСднСго Π±Π°Π»Π»Π°

}

Рисунок 1 — Ρ€Π°Π±ΠΎΡ‚Π° 1 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.2

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

char familia[30];

char imya[30];

char otchestvo[30];

Π”Π°Π»Π΅Π΅ эти строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcmp сравниваСт Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ. Если Π²ΠΎ Π²ΡΠ΅Ρ… 3 случаях функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся Ρ‚Π°Π±Π»ΠΈΡ†Π° успСваСмости студСнта.

void two (student student1[100], predmety predmety1[100])

{

char familia[30];

char imya[30];

char otchestvo[30];

cout<<" n vvedite familiy stydenta :" ;

cin>>familia;

cout<<" n vvedite imya studenta:" ;

cin>>imya;

cout<<" n vvedite otchestvo studenta:" ;

cin>>otchestvo;

for (i=0;i

{

if ((strcmp (familia, student1[i]. familia)==NULL)&&(strcmp (imya, student1[i].imya)==NULL)&&(strcmp (otchestvo, student1[i].otchestvo)==NULL))

{

cout<<" n Ocenki studenta:" <<<" «<<<» «<

cout<

for (j=0;j

for (k=0;k

{

cout<

cout<<" ocenka:" <

cout<

j++;

}

}

}

}

Рисунок 2- Ρ€Π°Π±ΠΎΡ‚Π° 2 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.3

Π’Ρ‹Π²ΠΎΠ΄ списка ΠΈΠ½ΠΎΠ³ΠΎΡ€ΠΎΠ΄Π½ΠΈΡ… студСнтов .

Алгоритм Вводится Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°, Π³Π΄Π΅ находится институт. Π—Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcmp ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сравниваСт ΠΏΠΎΠ»Π΅ char gorod[30]; ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива Ρ‚ΠΈΠΏΠ° student с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡ€ΠΎΠ΄Π° Ссли функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ 0, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся имя, фамилия, отчСство ΠΈΠ½ΠΎΠ³ΠΎΡ€ΠΎΠ΄Π½ΠΈΡ… студСнтов ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ счСтчика ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π°.

void three (student student1[100])

{

int inogorodnie=0;

char gorod[20];

cout<<" n vvedite nazvani goroda gde naxoditsya instityt:" ;

cin>>gorod;

cout<<" n inogorodnie studenty:" ;

for (i=0;i

{

if (strcmp (gorod, student1[i]. gorod)≠0)

{

cout<<<" «<<<» «<<

inogorodnie++;

}

}

cout<<" n colichestvo inogorodnyx stydentov:" <

}

Рисунок 3-Ρ€Π°Π±ΠΎΡ‚Π° 3 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.4 Π’Ρ‹Π²ΠΎΠ΄ списка городских студСнтов Алгоритм Вводится Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΎΠ΄Π°, Π³Π΄Π΅ находится институт. Π—Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcmp ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сравниваСт ΠΏΠΎΠ»Π΅ char gorod[30]; ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива Ρ‚ΠΈΠΏΠ° student с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡ€ΠΎΠ΄Π° Ссли функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся имя, фамилия, отчСство городских студСнтов ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ счСтчика ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π°.

void four (student student1[100])

{

int gorodskie=0;

char gorod[20];

cout<<" n vvedite nazvani goroda gde naxoditsya instityt:" ;

cin>>gorod;

cout<<" n inogorodnie studenty:" ;

for (i=0;i

{

if (strcmp (gorod, student1[i]. gorod)==0)

{

cout<<<" «<<<» «<<

gorodskie++;

}

}

cout<<" n colichestvo gorodskix stydentov:" <

}

Рисунок 4-Ρ€Π°Π±ΠΎΡ‚Π° 4 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.5 Π’Ρ‹Π²ΠΎΠ΄ количСства Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΈΠΊΠΎΠ².

Алгоритм ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° ввСсти 0, Ссли ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΈΠΊ ΠΈ 1- Ссли Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΈΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню Ссли элСмСнт массива student с ΠΏΠΎΠ»Π΅ΠΌ int budzhet_ili_contract; содСрТит 1, Ρ‚ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ выводится имя, фамилия, отчСство студСнтов Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΈΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

void five (student student1[100])

{

cout<<" n budzhetniki:" <

int budzhet=0;

for (i=0;i

{

if (student1[i]. budzhet_ili_contract==1)

{

cout<<<" «<<<» «<<

budzhet++;}

}

cout<<" n colichestvo budzhetnicow:" <

}

Рисунок 5-Ρ€Π°Π±ΠΎΡ‚Π° 5 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.6 Π’Ρ‹Π²ΠΎΠ΄ количСства ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΈΠΊΠΎΠ² Алгоритм ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° ввСсти 0, Ссли ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΈΠΊ ΠΈ 1- Ссли Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΈΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню Ссли элСмСнт массива student с ΠΏΠΎΠ»Π΅ΠΌ int budzhet_ili_contract; содСрТит 0, Ρ‚ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ выводится имя, фамилия, отчСство студСнтов Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΈΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

void six (student student1[100])

{

cout<<" n kontraktnici:" <

int contract=0;

for (i=0;i

{

if (student1[i]. budzhet_ili_contract==0)

{

cout<<<" «<<<» «<<

contract++;

}

}

cout<<" n colichestvo kontraktnikow:" <

}

Рисунок 6-Ρ€Π°Π±ΠΎΡ‚Π° 6 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.7 Π’Ρ‹Π²ΠΎΠ΄ студСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° роТдСния Алгоритм ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню сравниваСт ΠΏΠΎΠ»Π΅ int god_rozhdenia; ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта массива student с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΏΠΎΠ»Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта мСню. Если ΠΎΠ½ΠΈ Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся ΠΈΡ… Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΎΡ‚чСства.

void seven (student student1[100])

{

cout<<" n spisok studentov odnogo goda rozhdenia:" ;

for (i=0;i

{

if (student1[i]. god_rozhdenia==student1[i+1].god_rozhdenia)

{

cout<<<" «<<<» «<<

cout<<<" «<<<» «<

cout<

}

}

}

Рисунок 7-Ρ€Π°Π±ΠΎΡ‚Π° 7 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

4.1.8 Поиск студСнта Π² Π±Π°Π·Π΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π½Π΅ΠΌ.

Алгоритм Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, имя, отчСство искомого студСнта. Для этого ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ строки

char familia1[30];

char imya1[30];

char otchestvo1[30];

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сравниваСт эти строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcmp с ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ массива student. Если Π²ΠΎ Π²ΡΠ΅Ρ… Ρ‚Ρ€Π΅Ρ… случаях функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ элСмСнт массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ являСтся структура с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ студСнтС.

Π˜Π½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСниС ΠΎΠ± ΠΎΡ‚сутствии Ρ‚Π°ΠΊΠΎΠ³ΠΎ студСнта.

void eight (student student1[100], predmety predmety1[100])

{

char familia1[30];

char imya1[30];

char otchestvo1[30];

cout<<" n vvedite familiy stydenta :" ;

cin>>familia1;

cout<<" n vvedite imya studenta:" ;

cin>>imya1;

cout<<" n vvedite otchestvo studenta:" ;

cin>>otchestvo1;

for (i=0;i

{

if ((strcmp (familia1,student1[i]. familia)==0)&&(strcmp (imya1,student1[i].imya)==0)&&(strcmp (otchestvo1,student1[i].otchestvo)==0))

{

cout<<" n familia: «;

cout<

cout<<" n imya:" ;

cout<

cout<<" n otchestvo:" ;

cout<

cout<<" n god_rozhdenia:" ;

cout<

cout<<" n mesyac_rozhdenia:" ;

cout<

cout<<" n den_roshdenia:" ;

cout<

cout<<" n budzhet_ili_contract:" ;

if (student1[i]. budzhet_ili_contract==1)

{ cout<<" n budzhetnic" ;

}

else if (student1[i]. budzhet_ili_contract==0)

{cout<<" n contractnic" ;

}

cout<<" n nomer_telefona:" ;

cout<

cout<<" n strana:" ;

cout<

cout<<" n gorod:" ;

cout<

cout<<" n ylica:" ;

cout<

cout<<" n dom (chislom):" ;

cout<

cout<<" n nomer_kvartiry:" ;

cout<

cout<<" n Ocenki studenta:" <<<" «<<<» «<

cout<

for (j=0;j

for (k=0;k

{

cout<

cout<<" ocenka:" <

cout<

j++;

}

}

else

{

cout<<" n takogo stydenta net v baze" ;

}}

}

Рисунок 8-Ρ€Π°Π±ΠΎΡ‚Π° 8 ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

5 ИНБВРУКЦИЯ ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠ’Π•Π›Π―

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для создания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ base.exe. ВрСбования ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ :

CPU 1.00 GHz

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ: 256 ΠœΠ‘ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма: Windows 95 Π²Ρ‹ΡˆΠ΅

Π’Ρ‹Π²ΠΎΠ΄

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ выполняСт всС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Рисунок 1 -Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

БПИБОК Π˜Π‘Π‘ΠŸΠžΠ›Π¬Π—ΠžΠ’ΠΠΠžΠ™ Π›Π˜Π’Π•Π ΠΠ’Π£Π Π«

1. Бтрауструп Π‘. Π―Π·Ρ‹ΠΊ программирования Π‘++. Π§Π°ΡΡ‚ΡŒ 1. — ΠšΠΈΠ΅Π²: «Π”ΠΈΠ°Π‘ΠΎΡ„Ρ‚», 1993. — 264 с.

2. Бтрауструп Π‘. Π―Π·Ρ‹ΠΊ программирования Π‘++. Π§Π°ΡΡ‚ΡŒ 2. — ΠšΠΈΠ΅Π²: «Π”ΠΈΠ°Π‘ΠΎΡ„Ρ‚», 1993. — 296 с.

3. Π₯. М. Π”Π΅ΠΉΡ‚Π΅Π», П.Π”ΠΆ. Π”Π΅ΠΉΡ‚Π΅Π» Как ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π‘++.- М.:Π—ΠΠž «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘Π˜ΠΠžΠœ», 2000 Π³. — 1024 с.

4. Π“Π»ΡƒΡˆΠ°ΠΊΠΎΠ² Π‘. Π’. ΠΈ Π΄Ρ€. Π―Π·Ρ‹ΠΊ программирования Π‘++. —Π₯Π°Ρ€ΡŒΠΊΠΎΠ²: Π€ΠΎΠ»ΠΈΠΎ, 2002. — 500 с.

ΠŸΠ Π˜Π›ΠžΠ–Π•ΠΠ˜Π•, А Π’Π•ΠšΠ‘Π’ ΠŸΠ ΠžΠ“Π ΠΠœΠœΠ«

#include

#include

#include

int punkt;

int i, j, k;

int budzhet=0;

int contract=0;

int kolvo_predmetov;

int kolvo_student;

struct predmety

{

char nazvanie_predmeta[50];

};

struct student {

char familia [30];

char imya [30];

char otchestvo [30];

int god_rozhdenia ;

int mesyac_rozhdenia ;

int den_roshdenia;

int budzhet_ili_contract;

int nomer_telefona;

char strana[40];

char gorod[30];

char ylica[40];

int ball[100];

int dom;

int nomer_kvartiry;

int srednyi_ball;

};

student base[100];

student *student1=base;

predmety ocenki[100];

predmety *predmety1=ocenki;

float sortirovka (int ball[100], int kolvo_predmetov)

{ float sum=0;

for (int i=0;i

{

sum+=ball[i];

}

return sum/kolvo_predmetov;

}

void one (student student1[100])

{

for (i=0;i

{

if ((base[i]. srednyi_ball>=0)&&(base[i].srednyi_ball<=60))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball nizhe 60:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<<" «;

cout<<<" «;

cout<<<" «;

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=60)&&(base[i].srednyi_ball<=75))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 60 i nizhe 75:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=75)&&(base[i].srednyi_ball<=90))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 75 i nizhe 90:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

}

if ((base[i]. srednyi_ball>=90)&&(base[i].srednyi_ball<=100))

{

cout<<" n ———————————————————————————————-" ;

cout<<" n studenty imeyshie sredniy ball bolshe 90 nizhe 100:" ;

cout<<" n ———————————————————————————————-" ;

cout<

cout<<

cout<<

cout<<

cout<<" srednyi ball:" <<

cout<<" n ———————————————————————————————-" ;

} } k++;

}

void two (student student1[100], predmety predmety1[100])

{

char familia[30];

char imya[30];

char otchestvo[30];

cout<<" n vvedite familiy stydenta :" ;

cin>>familia;

cout<<" n vvedite imya studenta:" ;

cin>>imya;

cout<<" n vvedite otchestvo studenta:" ;

cin>>otchestvo;

for (i=0;i

{

if ((strcmp (familia, student1[i]. familia)==NULL)&&(strcmp (imya, student1[i].imya)==NULL)&&(strcmp (otchestvo, student1[i].otchestvo)==NULL))

{

cout<<" n Ocenki studenta:" <<<" «<<<» «<

cout<

for (j=0;j

for (k=0;k

{

cout<

cout<<" ocenka:" <

cout<

j++;

}

}

}

}

void three (student student1[100])

{

int inogorodnie=0;

char gorod[20];

cout<<" n vvedite nazvani goroda gde naxoditsya instityt:" ;

cin>>gorod;

cout<<" n inogorodnie studenty:" ;

for (i=0;i

{

if (strcmp (gorod, student1[i]. gorod)≠0)

{

cout<<<" «<<<» «<<

inogorodnie++;

}

}

cout<<" n colichestvo inogorodnyx stydentov:" <

}

void four (student student1[100])

{

int gorodskie=0;

char gorod[20];

cout<<" n vvedite nazvani goroda gde naxoditsya instityt:" ;

cin>>gorod;

cout<<" n inogorodnie studenty:" ;

for (i=0;i

{

if (strcmp (gorod, student1[i]. gorod)==0)

{

cout<<<" «<<<» «<<

gorodskie++;

}

}

cout<<" n colichestvo gorodskix stydentov:" <

}

void five (student student1[100])

{

cout<<" n budzhetniki:" <

int budzhet=0;

for (i=0;i

{

if (student1[i]. budzhet_ili_contract==1)

{

cout<<<" «<<<» «<<

budzhet++;}

}

cout<<" n colichestvo budzhetnicow:" <

}

void six (student student1[100])

{

cout<<" n kontraktnici:" <

int contract=0;

for (i=0;i

{

if (student1[i]. budzhet_ili_contract==0)

{

cout<<<" «<<<» «<<

contract++;

}

}

cout<<" n colichestvo kontraktnikow:" <

}

void seven (student student1[100])

{

cout<<" n spisok studentov odnogo goda rozhdenia:" ;

for (i=0;i

{

if (student1[i]. god_rozhdenia==student1[i+1].god_rozhdenia)

{

cout<<<" «<<<» «<<

cout<<<" «<<<» «<

cout<

}

}

}

void eight (student student1[100], predmety predmety1[100])

{

char familia1[30];

char imya1[30];

char otchestvo1[30];

cout<<" n vvedite familiy stydenta :" ;

cin>>familia1;

cout<<" n vvedite imya studenta:" ;

cin>>imya1;

cout<<" n vvedite otchestvo studenta:" ;

cin>>otchestvo1;

for (i=0;i

{

if ((strcmp (familia1,student1[i]. familia)==0)&&(strcmp (imya1,student1[i].imya)==0)&&(strcmp (otchestvo1,student1[i].otchestvo)==0))

{

cout<<" n familia: «;

cout<

cout<<" n imya:" ;

cout<

cout<<" n otchestvo:" ;

cout<

cout<<" n god_rozhdenia:" ;

cout<

cout<<" n mesyac_rozhdenia:" ;

cout<

cout<<" n den_roshdenia:" ;

cout<

cout<<" n budzhet_ili_contract:" ;

if (student1[i]. budzhet_ili_contract==1)

{ cout<<" n budzhetnic" ;

}

else if (student1[i]. budzhet_ili_contract==0)

{cout<<" n contractnic" ;

}

cout<<" n nomer_telefona:" ;

cout<

cout<<" n strana:" ;

cout<

cout<<" n gorod:" ;

cout<

cout<<" n ylica:" ;

cout<

cout<<" n dom (chislom):" ;

cout<

cout<<" n nomer_kvartiry:" ;

cout<

cout<<" n Ocenki studenta:" <<<" «<<<» «<

cout<

for (j=0;j

for (k=0;k

{

cout<

cout<<" ocenka:" <

cout<

j++;

}

}

else

{

cout<<" n takogo stydenta net v baze" ;

}}

}

void main ()

{

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

cout<<" n vvedite kolichestvo stydentov:" ;

cin>>kolvo_student;

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

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

cout<<" n vvedite kolichestvo predmetov:" ;

cin>>kolvo_predmetov;

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

cout<<" n vvedite nazvanie predmetov:" ;

for (j=0;j

{ cout<<" n «<<<»)" ;

cin>>ocenki[j]. nazvanie_predmeta;

}

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

cout<<" n vvedite dannye o studentax:" ;

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

for (i=0;i

{

cout<<" n STUDENT" <

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

cout<<" n familia: «;

cin>>base[i]. familia;

cout<<" n imya:" ;

cin>>base[i]. imya;

cout<<" n otchestvo:" ;

cin>>base[i]. otchestvo;

cout<<" n god_rozhdenia (chislom):" ;

cin>>base[i]. god_rozhdenia;

cout<<" n mesyac_rozhdenia (chislom):" ;

cin>>base[i]. mesyac_rozhdenia;

cout<<" n den_roshdenia (chislom):" ;

cin>>base[i]. den_roshdenia;

cout<<" n budzhet_ili_contract:" ;

cout<<" n esli budzhet vvedite 1, esli kontrakt to vvedite 0″ ;

cout<

cin>>base[i]. budzhet_ili_contract;

if ((base[i]. budzhet_ili_contract≠1)&&(base[i].budzhet_ili_contract≠0))

{

cout<<" n esli budzhet vvedite 1, esli kontrakt to vvedite 0!!!" ;

}

if (base[i]. budzhet_ili_contract==1)

{ budzhet++;

}

else if (base[i]. budzhet_ili_contract==0)

{contract++;

}

cout<<" n nomer_telefona (chislom):" ;

cin>>base[i]. nomer_telefona;

cout<<" n strana:" ;

cin>>base[i]. strana;

cout<<" n gorod:" ;

cin>>base[i]. gorod;

cout<<" n ylica:" ;

cin>>base[i]. ylica;

cout<<" n dom (chislom):" ;

cin>>base[i]. dom;

cout<<" n nomer_kvartiry (chislom):" ;

cin>>base[i]. nomer_kvartiry;

for (j=0;j

for (k=0;k

{

cout<<" n vvedite ocenky studenta po predmety:" <<<" :" ;

cin>>base[i].ball[k];

if ((base[i]. ball[k]<0)||(base[i].ball[k]<0)>100)

{

cout<<" n ocenka ot 0 do 100 !!!" ;

cin>>base[i]. ball[k];

}

j++;

}

}

for (i=0;i

{

base[i]. srednyi_ball=sortirovka (base[i].ball, kolvo_predmetov);

}

METKA:

cout<<" n ———————————————————————————————-" ;

cout<<" n vyberite punkt:" ;

cout<<" n ———————————————————————————————-" ;

cout<<" n 1:| sdelat sortirovky stydentov po yspevaimosty" ;

cout<<" n 2:| vyvesti tablicy yspevaimosti stydenta po predmetam" ;

cout<<" n 3:| vyvesti col-vo inogorodnyx studentov (spisok)" ;

cout<<" n 4:| vyvesti col-vo gorodskih studentov (spisok)" ;

cout<<" n 5:| vyvesti col-vo budzetnikow" ;

cout<<" n 6:| vyvesti col-vo kontraktnikow" ;

cout<<" n 7:| vyvesti spisok stydentov odnogo goda rozhdenya" ;

cout<<" n 8:| naiti studenta v base i vyvesti vsy informaciy (1−6 pynkt)" ;

cout<<" n ———————————————————————————————-" ;

cout<<" n vvedite punkt:" ;

cin>>punkt;

if (punkt==1)

{

one (base);

}

if (punkt==2)

{

two (student1,ocenki);

}

if (punkt==3)

{

three (base);

}

if (punkt==4)

{

four (base);

}

if (punkt==5)

{

five (base);

}

if (punkt==6)

{

six (base);

}

if (punkt==7)

{

seven (base);

}

if (punkt==8)

{

eight (student1,ocenki);

}goto METKA;

getch ();

}

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