Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов Β«Π­ΠΊΡ€Π°Π½ курсового проСктирования»

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

Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ dataGridView, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ для отобраТСния Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… записСй. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½, Ρ‚.ΠΊ. ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ всСм трСбованиям для хранСния ΠΈ ΠΎΡ‚обраТСния записСй ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ…. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ», которая располоТСна Π²Π½ΠΈΠ·Ρƒ ΠΎΠΊΠ½Π°. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π½Π΅Π΅ происходит Π²Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° добавлСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов Β«Π­ΠΊΡ€Π°Π½ курсового проСктирования» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. Анализ тСхничСского задания
  • 2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры классов
  • 3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация
  • 4. ВСстированиС
  • 5. Руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
  • Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ развития Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм, ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ систСм управлСния, связан со Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·-Π·Π° присущих ΠΈΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΠΈ, открытости, эргономичности ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΡΡ‚раиваСмости.

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

  • ВсС это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ пСрспСктивным ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ проСктирования. К ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ отличиям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ проСктирования относят Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ-ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡ Π°ΠΊΡ†Π΅Π½Ρ‚Π° проСктирования с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² функционирования систСмы Π½Π° ΠΏΠΎΡΡ‚роСния систСмы абстракций ΠΈ ΠΈΡ… Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚вия.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Ρ‚Π°ΠΊΠΈΠ΅ понятия:

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

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

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

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

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

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

ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры класса «Π­ΠΊΡ€Π°Π½ курсового проСктирования», которая Π±ΡƒΠ΄Π΅Ρ‚ основой для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ…, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… курсовыС Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ Ρ‚ворчСской Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++.

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

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

1. Анализ тСхничСского задания

Π’ Π½Π°ΡΡ‚оящСм курсовом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ структуру ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов «Π­ΠΊΡ€Π°Π½ курсового проСктирования». На ΠΎΡΠ½ΠΎΠ²Π΅ этой структуры Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для тСстирования ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поставлСнных Π·Π°Π΄Π°Ρ‡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

— Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ классов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΡ‹Π΅ классы;

— Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ структуру ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса;

— Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ классов.

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

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

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΌΠΎΡ‰Π½ΠΎΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования Π‘++(Павловская Π’.А. Π‘/Π‘++. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня. — Π‘Пб.: Π›ΠΈΠ΄Π΅Ρ€, 2010. — 461с., Иванова Π“. Π‘, ΠΠΈΡ‡ΡƒΡˆΠΊΠΈΠ½Π° Π’. Н., ΠŸΡƒΠ³Π°Ρ‡Π΅Π² Π•. К. И21 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π£Ρ‡Π΅Π±. для Π²ΡƒΠ·ΠΎΠ²/ Под Ρ€Π΅Π΄. Π“. Π‘. Ивановой. — Πœ.: Изд-Π²ΠΎ ΠœΠ“Π’Π£ ΠΈΠΌ. Π. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°, 2001. — 320 с.). Π―Π·Ρ‹ΠΊ Π‘++ прСдоставляСт всС срСдства для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСмныС рСсурсы, Ρ‡Ρ‚ΠΎ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ Ρ€Π΅ΡΡƒΡ€ΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’Π°ΠΊΠΆΠ΅ язык Π‘++ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. NETFramework, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСна эта ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ языками Π‘++ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ нСсколькими особСнностями:

— ΠŸΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² инкапсуляции, наслСдования ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°;

— ΠŸΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ наслСдованиС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΠ½Ρ‚СрфСйсов, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ;

— Π‘огласованный ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²;

— Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСопрСдСлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ стандартных Ρ‚ΠΈΠΏΠΎΠ² языка ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²;

— ΠΠ²Ρ‚оматичСская очистка динамичСски распрСдСляСмой памяти;

— ΠŸΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов .NET Framework наряду с Π»Π΅Π³ΠΊΠΈΠΌ доступом ΠΊ Windows API;

— Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ ΠΏΡ€ΡΠΌΠΎΠΉ доступ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости доступны, Π½ΠΎ ΡΠ·Ρ‹ΠΊ спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π±Π΅Π· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ.

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

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

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

К Ρ‡ΠΈΡΠ»Ρƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ относится:

1. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, которая Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ряд свойств:

— ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ;

— Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ;

— Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ;

2. ΠΠ΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, которая ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚:

— ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ;

— ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ;

— Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ;

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

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

1. исправлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ качСства;

2. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ уровня качСства;

3. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для удовлСтворСния измСнСния Π² Ρ‚рСбованиях.

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

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ этого, ставятся основныС трСбования ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ:

1. Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс;

2. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ гибкости ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для добавлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;

3. ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡ€Π΅Π΄Π΅ MicrosoftVisualStudio 2010(http://www.microsoft.com/visualstudio/ru-ru/, ΠŸΠ°Ρ…ΠΎΠΌΠΎΠ² Π‘. И. Π‘/Π‘++ ΠΈ MSVisualC++ 2008 для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³. 2009. — 624с.). Π’Ρ‹Π±ΠΎΡ€ обусловлСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ данная срСда максимально совмСстима с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой MicrosoftWindows7(http://windows.microsoft.com/ru-RU/windows7/products/home). Π’Π°ΠΊΠΆΠ΅ данная срСда ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС вСрсии. NETFramework (http://msdn.microsoft.com/ru-ru/netframework/default), Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. MicrosoftVisualStudio 2010 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ всС этапы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Ρ‚СстированиС. Π’Π°ΠΊΠΆΠ΅ данная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ конструктор, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для написания прилоТСния. Π­Ρ‚ΠΎ позволяСт Π±ΠΎΠ»Π΅Π΅ быстро ΠΈ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс.

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

— 32-разрядный (x86) ΠΈΠ»ΠΈ 64-разрядный (x64) процСссор с Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частотой 1 Π³ΠΈΠ³Π°Π³Π΅Ρ€Ρ† (Π“Π“Ρ†) ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅;

— 1 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ (Π“Π‘) (для 32-разрядной систСмы) ΠΈΠ»ΠΈ 2 Π“Π‘ (для 64-разрядной систСмы) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти (ΠžΠ—Π£);

— 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ (Π“Π‘) (для 32-разрядной систСмы) ΠΈΠ»ΠΈ 20 Π“Π‘ (для 64-разрядной систСмы) пространства Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС;

— Π³Ρ€Π°Ρ„ичСскоС устройство DirectX 9 с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ WDDM вСрсии 1.0 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅.

2. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры классов

ΠŸΡ€ΠΈ рассмотрСнии исходных Π΄Π°Π½Π½Ρ‹Ρ… создаСтся структура ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов «Π­ΠΊΡ€Π°Π½ курсового проСктирования». Для максимального соотвСтствия заданию, создаСтся Ρ‚Ρ€ΠΈ класса:

— TObject (абстрактный Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс);

— TScreen (класс, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡΠΊΡ€Π°Π½Π΅ курсового проСктирования);

— TStudent (класс, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅ ΠΈ Ρ…ΠΎΠ΄Π΅ Π΅Π³ΠΎ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹).

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ классов ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

Абстрактный Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс TObject содСрТит ΠΏΠΎΠ»Π΅ TName (имя), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ наслСдуСтся Π² ΠΊΠ»Π°ΡΡΡ‹ TStudent ΠΈ TScreen. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ слуТит для задания ΠΈΠΌΠ΅Π½ΠΈ курсовому ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ студСнта. Π’ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Π΅ класса TObject этому полю присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «Default». Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ наслСдуСтся с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ Public. Π’Π°ΠΊΠΆΠ΅ класс TObject содСрТит Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetName (), которая пСрСопрСдСляСтся Π² ΠΊΠ»Π°ΡΡΠ°Ρ… TStudent ΠΈ TScreen. Она слуТит для присвоСния значСния полю TName Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ся устанавливаСмоС имя.

Класс TScreenсодСрТит поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, относящиСся ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ экрана курсового проСкитрования. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ΅ студСнтов, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… курсовыС Ρ€Π°Π±ΠΎΡ‚Ρ‹ хранится Π² ΠΏΠΎΠ»Π΅ TName, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ наслСдуСтся ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса TObject; информация ΠΎ Π΄Π°Ρ‚Π΅ утвСрТдСния экрана курсового проСктирования хранится Π² ΠΏΠΎΠ»Π΅ Date; информация ΠΎ ΡΠΎΡΡ‚Π°Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠΉ комиссии — Π² ΠΏΠΎΠ»Π΅ Composition. Π’ ΡΡ‚ΠΎΠΌ классС пСрСопрСдСляСтся функция присвоСния ΠΈΠΌΠ΅Π½ΠΈ полю TNameSetName (). Π”Π°Π½Π½Ρ‹ΠΉ класс содСрТит Π΄Π²Π΅ собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

— SetDate (присваиваСт полю Date Π΄Π°Ρ‚Ρƒ утвСрТдСния экрана курсового проСктирования);

— SetComposition (присваиваСт полю Composition ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΠΎΡΡ‚Π°Π²Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠΉ комиссии).

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² этим функциям пСрСдаСтся нСобходимая информация.

Π’ ΠΊΠ»Π°ΡΡΠ΅ TStudent содСрТится информация ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΌ ΠΊΡƒΡ€ΡΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΎ Ρ…ΠΎΠ΄Π΅ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ класс TScreen класс TStudent ΠΈΠΌΠ΅Π΅Ρ‚ наслСдуСмоС ΠΏΠΎΠ»Π΅ TName ΠΎΡ‚ ΠΊΠ»Π°ΡΡΠ° TObject. Π­Ρ‚ΠΎΠΌΡƒ полю присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ SetName, которая пСрСопрСдСляСтся Π² ΡΡ‚ΠΎΠΌ ΠΆΠ΅ классС. Помимо этого наслСдуСмого поля, класс содСрТит собствСнныС поля:

— ControlScore (ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ ΠΎΡ†Π΅Π½ΠΊΠ° Π·Π° ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚);

— NumberWeek (Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π½Π΅Π΄Π΅Π»ΠΈ);

— *Plan (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°ΡΡΠΈΠ² с ΠΏΠ»Π°Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°ΠΌΠΈ выполнСния курсовых Ρ€Π°Π±ΠΎΡ‚);

— *Fact (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°ΡΡΠΈΠ² с Ρ„актичСскими ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°ΠΌΠΈ выполнСния курсовых Ρ€Π°Π±ΠΎΡ‚);

— *Control (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°ΡΡΠΈΠ² с ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π΄Π΅Π»ΠΈ);

— Test (плановая Π΄Π°Ρ‚Π° сдачи Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ);

— TestF (фактичСская Π΄Π°Ρ‚Π° сдачи Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ);

— Revision (плановая Π΄Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ);

— RevisionF (фактичСская Π΄Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ);

— Protection (плановая Π΄Π°Ρ‚Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°);

— ProtectionF (фактичСская Π΄Π°Ρ‚Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°);

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ полю соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ список собствСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², содСрТащихся Π² ΠΊΠ»Π°ΡΡΠ΅ TStudent:

— SetNumberWeek ();

— SetPlan ();

— SetFact ();

— SetControl ();

— SetTest ();

— SetTestF ();

— SetRevision ();

— SetRevisionF ();

— SetProtection ();

— SetProtectionF ();

— SetControlScore ();

РСализация ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов «Π­ΠΊΡ€Π°Π½ курсового проСктирования» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

Рисунок 1 — Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ классов «Π­ΠΊΡ€Π°Π½ курсового проСктирования»

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

1) ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ дисциплины, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ проводятся курсовыС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Π³Ρ€ΡƒΠΏΠΏΡ‹, состав ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠΉ комиссии ΠΈ Π΄Π°Ρ‚Ρƒ утвСрТдСния экрана курсового проСктирования;

2) БоздаСтся экзСмпляр класса TScreen, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² заносится ввСдСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ информация;

3) ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для отобраТСния Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

4) Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

1) ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ записи происходит созданиС экзСмпляра класса TStudent. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² экзСмпляра класса происходит присвоСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ полям класса. Π—Π°Ρ‚Π΅ΠΌ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для отобраТСния Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

2) ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ выбираСтся нуТная запись, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ подтвСрТдСния удаляСт запись, информируя ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;

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

4) ΠŸΡ€ΠΈ поискС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ± ΡΡ‚ΠΎΠΌ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ поиск;

5) ИзмСнСниС листа ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π² ΡΠ΅Π±Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ экзСмпляра класса TScreen. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ поля с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², происходит ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экзСмпляра класса TScreen;

5) Π’ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… отобраТаСтся ввСдСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ информация, которая впослСдствии обрабатываСтся ΠΈΠΌ;

6) Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ дСструкторов Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€Π°Ρ… классов TScreen ΠΈ TStudent, ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ самих экзСмпляров.

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

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ создано 4 Ρ„ΠΎΡ€ΠΌΡ‹:

— Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отобраТаСтся вводимая информация, Π° Ρ‚Π°ΠΊΠΆΠ΅ осущСствляСтся Π²Ρ‹Π·ΠΎΠ² ΠΎΠΊΠΎΠ½ для добавлСния, рСдактирования ΠΈ ΠΏΠΎΠΈΡΠΊΠ°;

— Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΈ экрана курсового проСктирования, Π΄Π°Ρ‚Π΅ утвСрТдСния экрана ΠΈ ΡΠΎΡΡ‚Π°Π²Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠΉ комиссии;

— ΠžΠΊΠ½ΠΎ добавлСния/рСдактирования позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи.

— ΠžΠΊΠ½ΠΎ поиска слуТит для ΠΏΡ€ΠΈΠ΅ΠΌΠ° искомой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ dataGridView, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ для отобраТСния Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… записСй. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½, Ρ‚.ΠΊ. ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ всСм трСбованиям для хранСния ΠΈ ΠΎΡ‚обраТСния записСй ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°Ρ…. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ», которая располоТСна Π²Π½ΠΈΠ·Ρƒ ΠΎΠΊΠ½Π°. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π½Π΅Π΅ происходит Π²Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° добавлСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит тСкстовыС поля (textbox) для Π²Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°». Π’Π°ΠΊ ΠΊΠ°ΠΊ поля класса TStudent ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти соотвСтствиС Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ этим Ρ‚ΠΈΠΏΠ°ΠΌ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ появляСтся ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ записи ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ полям класса. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ ошибки Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ошибка ΠΎ Π½Π΅ΡΠΎΠΎΡ‚вСтствии Ρ‚ΠΈΠΏΠΎΠ², Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пропустил Π²Π²ΠΎΠ΄ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ поля.

Рассмотрим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ добавлСния записи Π² dataGridView:

private: System: Void button4_Click (System:Object^ sender, System: EventArgs^ e) {

Form2 ^newdlg=gcnewForm2();//Π²Ρ‹Π·ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ° добавлСния записи

if (dialres==System:Windows:Forms:DialogResult:OK){//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΡƒΡΠ»ΠΎΠ²ΠΈΡΠ½Π°Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΊΠ»Π°Π²ΠΈΡˆΠΈ «ΠžΠš» вформСдобавлСния

Student->SetName (newdlg->textBox1->Text);//присвоСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ полям класса Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ добавлСния

dataGridView1->Rows->Add (Student->TName,…);//добавлСниСполСйзаписивтаблицуdataGridView1

return;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π² Π³Π»Π°Π²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° удалСния доступна ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π²ΡƒΡ… условий:

— Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½Π° запись;

— Π•ΡΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° checkBox->Checked Ρ€Π°Π²Π½ΠΎ True (стоит Π³Π°Π»ΠΎΡ‡ΠΊΠ°);

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π°Π½ΠΈΠΆΠ΅:

private: System: Voidbutton6_Click (System:Object^ sender, System: EventArgs^ e) {

dialres=MessageBox:Show («Π’Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡ…ΠΎΡ‚ΠΈΡ‚Π΅ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΠ·Π°ΠΏΠΈΡΡŒ?» ," Π£Π΄Π°Π»ΠΈΡ‚ΡŒ?", MessageBoxButtons: OKCancel, MessageBoxIcon: Warning);//Π²Ρ‹Π²ΠΎΠ΄ прСдупрСТдСния

if (dialres==System:Windows:Forms:DialogResult:OK){//провСркаусловиянаудалСниС

if (this->dataGridView1->SelectedRows->Count > 0 &&

this->dataGridView1->SelectedRows[0]->Index ≠

this->dataGridView1->Rows->Count){// провСркананаличиСстрокивыдСлСнияудаляСмойстроки

this->dataGridView1->Rows->RemoveAt (this->dataGridView1->SelectedRows[0]->Index);//удалСниСвыдСлСннойстроки

CountDataGrid—;//ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ количСства записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

}

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

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

Π Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌΡ„ΡƒΠ½ΠΊΡ†ΠΈΡŽΡ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ:

private: System: Void button2_Click (System:Object^ sender, System: EventArgs^ e) {

dl=MessageBox:Show («Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ·Π°ΠΏΠΈΡΡŒ?» ," Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ?", MessageBoxButtons: OKCancel, MessageBoxIcon: Question);//выводпрСдупрСТдСнияобизмСнСниизаписи

if (dl==System:Windows:Forms:DialogResult:OK){//провСркаподтвСрТдСния

if (this->dataGridView1->SelectedRows->Count > 0 &&

this->dataGridView1->SelectedRows[0]->Index ≠

this->dataGridView1->Rows->Count){// провСркананаличиСстрокивыдСлСнияудаляСмойстроки

Form2 ^newdlg=gcnewForm2();//инициализация Ρ„ΠΎΡ€ΠΌΡ‹ рСдактирования

newdlg->textBox1->Text=System:Convert:ToString (this->dataGridView1->SelectedRows[0]->Cells[0]->Value);//пСрСдачавформурСдактированияполСйтаблицы

dialres=newdlg->ShowDialog ();//вызовформырСдактирования ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ записи

if (dialres==System:Windows:Forms:DialogResult:OK){//подтвСрТдСниСдобавлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ…ΠΏΠΎΠ»Π΅ΠΉ

this->dataGridView1->SelectedRows[0]->Cells[0]->Value=newdlg->textBox1->Text;//Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

}

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ поиск. Для Π΅Π³ΠΎ выполнСния достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ условия — Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½Π° запись. Поиск производится ΠΏΠΎ Π²ΡΠ΅ΠΌ полям Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, нСзависимо ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΌ хранятся. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ поиска появляСтся ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ СдинствСнный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ textBox. Π’ Π½Π΅Π³ΠΎ вводится искомая информация. ВвСдСнная информация сравниваСтся с Ρ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎ хранится Π² ΠΏΠΎΠ»ΡΡ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если ΠΎΠ½Π° соотвСтствуСт запросу, Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если запрос Π½Π΅ ΡΠΎΠΎΡ‚вСтствуСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ поиск, Π½Π°ΠΆΠ°Π² Π½Π° «ΠžΠš» Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ сообщСнии.

Запросискомойинформации:

private: System: Void button1_Click (System:Object^ sender, System: EventArgs^ e) {

if (textBox1->Text≠""){//ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для поиска

this->DialogResult=System:Windows:Forms:DialogResult:OK;//подтвСрТдСниСпоска

this->Close ();//Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠΊΠ½Π° поиска ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π³Π»Π°Π²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

ΠŸΠΎΠΈΡΠΊΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΠ²Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

private: System: Void button1_Click (System:Object^ sender, System: EventArgs^ e) {

dialres=newdlg->ShowDialog ();//вызовформыпоиска

System:String ^srh;//объявлСниС строки поиска

srh=newdlg->textBox1->Text;//присвоСниС значСния строкС поиска

for (int i=0; i

for (int j=0; jColumnCount; j++){//циклповсСмстолбцамтаблицы

if (System:Convert:ToString (dataGridView1->Rows[i]->Cells[j]->Value)==srh){//провСрканасоотвСтствиСзапросаполямтаблицы

dataGridView1->CurrentCell=dataGridView1->Rows[i]->Cells[j]; //выдСлСниСнайдСнногополя

}

}

}

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

Ѐункция измСнСния названия экрана курсового проСктирования:

private: System: Void button7_Click (System:Object^ sender, System: EventArgs^ e) {

Start ^newdlg=gcnewStart ();//инициализацияформыстартового ΠΎΠΊΠ½Π°

dialres=newdlg->ShowDialog ();//Π²Ρ‹Π·ΠΎΠ² стартового ΠΎΠΊΠ½Π°

Screen.SetName (newdlg->textBox1->Text);//присвоСниСполямклассаTScreenΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠΏΠΎΠ»Π΅ΠΉΡ„ΠΎΡ€ΠΌΡ‹

listBox2->Items->Add (Screen.Composition);//пСрСдачаполСйклассаTScreenΠ²listBox1 Π³Π»Π°Π²Π½ΠΎΠΉΡ„ΠΎΡ€ΠΌΡ‹

}

}

Полная рСализация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

4 ВСстированиС ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ этапом создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° являСтся Π΅Π³ΠΎ тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°. Π’ Ρ…ΠΎΠ΄Π΅ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ всС Π΅Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ нСдостатки ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΎ создано Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (рисунок 2), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° структура ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. А ΠΈΠΌΠ΅Π½Π½ΠΎ:

— Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ экзСмпляров классов;

— Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊ Π΄Π°Π½Π½Ρ‹Ρ…;

— Π Π°Π±ΠΎΡ‚Π° с ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€Π°ΠΌΠΈ классов Ρ‡Π΅Ρ€Π΅Π· Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

Рисунок 2 — Π’Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Рисунок 3 — Π’Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

иСрархия класс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Рисунок 4 — Π’Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Окно поиска.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстирования: Π² Ρ…ΠΎΠ΄Π΅ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСдостатков, Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния, Π½Π΅ Π²Ρ‹ΡΠ²Π»Π΅Π½ΠΎ.

Листинг Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

1. ВипЦП DualCore AMD Athlon 64 X2, 2700 MHz (13.5×200) 5200+;

2. БистСмная ΠΏΠ°ΠΌΡΡ‚ΡŒ 4096 ΠœΠ‘ (DDR2−800 DDR2 SDRAM);

3. ОБ Windows 7×64 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 32-Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

5. Руководство ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ Руководство программиста:

Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π­ΠΊΡ€Π°Π½ курсового проСктирования», основанноС Π½Π° ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠΎΡ‚рСбностСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ОбъявлСниС экзСмпляров класса TScreenΠΈ TStudentпроисходит Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Form1. h:

public:

TStudent ^Student;//объявлСниС указатСля Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€ класса TStudent

TScreenScreen;//объявлСниС экзСмпляра класса TScreen

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ экзСмпляр класса TStudentинициализируСтся Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Π΅ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹:

Form1(void)

{

Student=gcnew TStudent;//инициализацияэкзСмпляраклассаTStudent

}

Оба этих экзСмпляра ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ глобально ΠΈ Ρ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ доступа Public, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ ΠΈΠ· Π»ΡŽΠ±ΠΎΠΉ части Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌ. Поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этих классов Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ доступа Public ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ стандартныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.NETFramework. ВсС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠΌΠ΅ΡŽΡ‚ тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ System: String^. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса ΠΎΠ½ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартного ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€Π° Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…:

Student->SetControlScore (System:Convert:ToInt16(newdlg->textBox17->Text));//ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Руководство систСмного администратора:

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ структуру ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов «Π­ΠΊΡ€Π°Π½ курсового проСктирования». ОбъявлСниС ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² абстрактного Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса TObject находится Π² Ρ„Π°ΠΉΠ»Π΅ TObject. h, Π° ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ TObject.cpp. ОбъявлСниС ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса TScreen находится Π² Ρ„Π°ΠΉΠ»Π΅ TScreen. h, Π° ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ TScreen.cpp. ОбъявлСниС ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса TStudent находится Π² Ρ„Π°ΠΉΠ»Π΅ TStudent. h, Π° ΠΈΡ… ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ TStudent.cpp. ОписаниС Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния находится Π² Ρ„Π°ΠΉΠ»Π΅ Form1. h; описаниС ΠΎΠΊΠ½Π° добавлСния/измСнСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΡΠΊΡ€Π°Π½Π΅ курсового проСктирования находится Π² Ρ„Π°ΠΉΠ»Π΅ Start. h; описания ΠΎΠΊΠ½Π° добавлСния/измСнСния записи ΠΎ ΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π΅ находится Π² Ρ„Π°ΠΉΠ»Π΅ Form2. h; описаниС ΠΎΠΊΠ½Π° поиска находится Π² Ρ„Π°ΠΉΠ»Π΅ Search.h.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π­ΠΊΡ€Π°Π½ курсового проСктирования» Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС программирования MicrosoftVisualStudio 2010. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. NETFramework 4, которая присутствуСт Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС MicrosoftWindows 7.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

Для выполнСния прилоТСния «Π­ΠΊΡ€Π°Π½ курсового проСктирования» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмныС трСбования:

— Pentium III 1.5 Π“Π“Ρ†;

— GeForceFX 5200 ΠΈΠ»ΠΈ ATI Radeon 9550−9600 с 128 MB, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² 2.0;

— 512 ΠœΠ±ΠžΠ—Π£;

— Windows® XP/Vista/7, Windows2000, DirectX 9.0c;

— .NET Framework вСрсии 4.0;

— ΠœΠ΅ΡΡ‚ΠΎ Π½Π° ΠΆΠ΅ΡΡ‚ΠΊΠΎΠΌ дискС: 4 GB;

— ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 800×600;

— ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, ΠΌΡ‹ΡˆΡŒ.

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

Для добавлСния записи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ», послС Ρ‡Π΅Π³ΠΎ появится Ρ„ΠΎΡ€ΠΌΠ° добавлСния. Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС поля ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΠΊ». Если Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ всС поля, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдаст сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всС поля. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ соотвСтствии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΌΠ΅Π½Π°». ПослС добавлСния запись автоматичСски отобраТаСтся Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

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

Для рСдактирования записи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π½Π° «Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹». Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записи, ΠΊΠ°ΠΊ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, доступно лишь ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Для рСдактирования записи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ строку, Π½Π°ΠΆΠ°Π² Π½Π° Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ рядом с ΠΈΠΌΠ΅Π½Π΅ΠΌ записи. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ дСйствия открываСтся ΠΎΠΊΠ½ΠΎ рСдактирования записи. НСобходимо ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ поля ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ свои дСйствия.

Поиск осущСствляСтся ΠΏΠΎ Π²ΡΠ΅ΠΌ полям Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Для поиска Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠΎΠΈΡΠΊ», послС этого откроСтся ΠΎΠΊΠ½ΠΎ поиска, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для запроса, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠŸΠΎΠΈΡΠΊ». ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ совпадСнии Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выдСляСт ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»Π΅ ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ поиска, Ссли найдСнная информация Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΠ»Π° запросу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Для Π²Ρ‹Π·ΠΎΠ²Π° справочной систСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ мСню «Help», Π° Π·Π°Ρ‚Π΅ΠΌ «Helpfile».

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

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

1. Павловская Π’. А. Π‘/Π‘++. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня. — Π‘Пб.: Π›ΠΈΠ΄Π΅Ρ€, 2010. — 461с.

2. ΠŸΠ°Ρ…ΠΎΠΌΠΎΠ² Π‘. И. Π‘/Π‘++ ΠΈ MSVisualC++ 2008 для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³. 2009. — 624с.

3. Иванова Π“. Π‘, ΠΠΈΡ‡ΡƒΡˆΠΊΠΈΠ½Π° Π’. Н., ΠŸΡƒΠ³Π°Ρ‡Π΅Π² Π•. К. И21 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π£Ρ‡Π΅Π±. для Π²ΡƒΠ·ΠΎΠ²/ Под Ρ€Π΅Π΄. Π“. Π‘. Ивановой. — Πœ.: Изд-Π²ΠΎ ΠœΠ“Π’Π£ ΠΈΠΌ. Π. Π­. Π‘Π°ΡƒΠΌΠ°Π½Π°, 2001. — 320 с.

4. ΠŸΠ°ΡƒΡΡ€Ρ Π›. MicrosoftVisualStudio 2008 / Π›. ΠŸΠ°ΡƒΡΡ€Ρ, М. Π‘Π½Π΅Π»Π»: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Π‘Пб.: Π‘Π₯Π’-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2009. — 1200 с.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, А Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов Π€Π°ΠΉΠ»TObject. h

#pragma once

public ref class TObject abstract

{

public:

System:String ^TName;

virtual void SetName (System:String ^) abstract;

TObject (void);

};

Π€Π°ΠΉΠ» TObject. cpp

#include «StdAfx.h»

#include «TObject.h»

TObject:TObject (void)

{

TName="Default" ;

}

Π€Π°ΠΉΠ» TStudent. h

#pragma once

#include «TObject.h»

using namespace System;

ref class TStudent :

public TObject

{

public:

System:Int16 ControlScore;

System:Int16 NumberWeek;

System:Int16 *Plan;

System:Int16 *Fact;

System:Int16 *Control

System:String ^Test;

System:String ^TestF;

System:String ^Revision;

System:String ^RevisionF;

System:String ^Protection;

System:String ^ProtectionF;

virtual void SetName (System:String ^) override;

void SetNumberWeek (System:Int16);

void SetPlan (System:Int16, System: Int16);

void SetFact (System:Int16, System: Int16);

void SetControl (System:Int16, System: Int16);

void SetTest (System:String ^);

void SetTestF (System:String ^);

void SetRevision (System:String ^);

void SetRevisionF (System:String ^);

void SetProtection (System:String ^);

void SetProtectionF (System:String ^);

void SetControlScore (System:Int16);

TStudent (void);

};

Π€Π°ΠΉΠ» TStudent. cpp

#include «StdAfx.h»

#include «TStudent.h»

void TStudent: SetName (String ^name){

TName=name;

}

void TStudent: SetNumberWeek (System:Int16 num){

NumberWeek=num;

}

void TStudent: SetPlan (System:Int16 num1, System: Int16 num2){

Plan[num2]=num1;

}

void TStudent: SetFact (System:Int16 num1, System: Int16 num2){

Fact[num2]=num1;

}

void TStudent: SetControl (System:Int16 num1, System: Int16 num2){

Control[num2]=num1;

}

void TStudent: SetTest (String ^ num){

Test=num;

}

void TStudent: SetTestF (String ^ num){

TestF=num;

}

void TStudent: SetRevision (String ^ num){

Revision=num;

}

void TStudent: SetRevisionF (String ^ num){

RevisionF=num;

}

void TStudent: SetProtection (String ^ num){

Protection=num;

}

void TStudent: SetProtectionF (String ^ num){

ProtectionF=num;

}

void TStudent: SetControlScore (System:Int16 score){

ControlScore=score;

}

TStudent:TStudent (void)

{

Plan=new System: Int16[3];

Fact=new System: Int16[3];

Control=new System: Int16[3];

}

Π€Π°ΠΉΠ» TScreen. h

#pragma once

#include «TObject.h»

#include «TStudent.h»

using namespace System;

using namespace System: Collections:Generic;

ref class TScreen :

public TObject

{

public:

System:String ^ Date;

System:String ^ Composition;

virtual void SetName (System:String ^) override;

void SetDate (System:String ^);

void SetComposition (System:String ^);

public:

TScreen (void);

};

Π€Π°ΠΉΠ» TScreen. cpp

#include «StdAfx.h»

#include «TScreen.h»

void TScreen: SetName (System:String ^s){

TName=s;

}

void TScreen: SetComposition (System:String ^s){

Composition=s;

}

void TScreen: SetDate (System:String ^s){

Date=s;

}

TScreen:TScreen (void)

{

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’ Π›ΠΈΡΡ‚ΠΈΠ½Π³ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния Π€Π°ΠΉΠ» Form1.h. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

#pragma once

#include «Form2.h»

#include «TScreen.h»

#include «Start.h»

#include «Search.h»

namespace WindowsFormApplicationC {

using namespace System;

using namespace System: ComponentModel;

using namespace System: Collections;

using namespace System: Windows:Forms;

using namespace System: Data;

using namespace System: Drawing;

using namespace System: Collections:Generic;

public ref class Form1: public System: Windows:Forms:Form

{

public:

private: System: Windows:Forms:MenuStrip^ menuStrip1;

private: System: Windows:Forms:ToolStripMenuItem^ fileToolStripMenuItem;

private: System: Windows:Forms:ToolStripMenuItem^ exitToolStripMenuItem;

private: System: Windows:Forms:ToolStripMenuItem^ helpToolStripMenuItem;

private: System: Windows:Forms:ToolStripMenuItem^ aboutToolStripMenuItem;

private: System: Windows:Forms:Button^ button4;

private: System: Windows:Forms:Button^ button5;

public:

TStudent ^Student;

TScreen Screen;

System:Int16 CountDataGrid;

private: System: Windows:Forms:Button^ button6;

private: System: Windows:Forms:Button^ button7;

private: System: Windows:Forms:Button^ button1;

private: System: Windows:Forms:Button^ button2;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column1;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column2;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column3;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column4;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column5;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column6;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column7;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column8;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column9;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column10;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column11;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column12;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column13;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column14;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column15;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column16;

private: System: Windows:Forms:DataGridViewTextBoxColumn^ Column17;

private: System: Windows:Forms:ToolStripMenuItem^ aboutToolStripMenuItem1;

private: System: Windows:Forms:ListBox^ listBox1;

private: System: Windows:Forms:ListBox^ listBox2;

private: System: Windows:Forms:CheckBox^ checkBox1;

public:

Form1(void)

{

InitializeComponent ();

Student=gcnew TStudent;

CountDataGrid=0;

}

protected:

~Form1()

{

if (components)

{

delete components;

}

}

private: System: Windows:Forms:DataGridView^ dataGridView1;

protected:

private:

System:ComponentModel:Container ^components;

#pragma region Windows Form Designer generated code

/// Required method for Designer support — do not modify

/// the contents of this method with the code editor.

void InitializeComponent (void)

{

System:Windows:Forms:DataGridViewCellStyle^ dataGridViewCellStyle2 = (gcnew System: Windows:Forms:DataGridViewCellStyle ());

this->dataGridView1 = (gcnew System: Windows:Forms:DataGridView ());

this->Column1 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column2 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column3 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column4 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column5 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column6 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column7 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column8 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column9 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column10 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column11 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column12 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column13 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column14 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column15 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column16 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->Column17 = (gcnew System: Windows:Forms:DataGridViewTextBoxColumn ());

this->menuStrip1 = (gcnew System: Windows:Forms:MenuStrip ());

this->fileToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());

this->exitToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());

this->helpToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());

this->aboutToolStripMenuItem = (gcnew System: Windows:Forms:ToolStripMenuItem ());

this->aboutToolStripMenuItem1 = (gcnew System: Windows:Forms:ToolStripMenuItem ());

this->button4 = (gcnew System: Windows:Forms:Button ());

this->button5 = (gcnew System: Windows:Forms:Button ());

this->button6 = (gcnew System: Windows:Forms:Button ());

this->button7 = (gcnew System: Windows:Forms:Button ());

this->button1 = (gcnew System: Windows:Forms:Button ());

this->button2 = (gcnew System: Windows:Forms:Button ());

this->listBox1 = (gcnew System: Windows:Forms:ListBox ());

this->listBox2 = (gcnew System: Windows:Forms:ListBox ());

this->checkBox1 = (gcnew System: Windows:Forms:CheckBox ());

(cli:safe_cast (this->dataGridView1))->BeginInit ();

this->menuStrip1->SuspendLayout ();

this->SuspendLayout ();

// dataGridView1

this->dataGridView1->AccessibleRole = System: Windows:Forms:AccessibleRole:Graphic;

this->dataGridView1->AllowUserToAddRows = false;

this->dataGridView1->Anchor = static_cast ((((System:Windows:Forms:AnchorStyles:Top | System: Windows:Forms:AnchorStyles:Bottom)

| System: Windows:Forms:AnchorStyles:Left)

| System: Windows:Forms:AnchorStyles:Right));

this->dataGridView1->BackgroundColor = System: Drawing:Color:White;

this->dataGridView1->BorderStyle = System: Windows:Forms:BorderStyle:Fixed3D;

this->dataGridView1->ColumnHeadersHeightSizeMode = System: Windows:Forms:DataGridViewColumnHeadersHeightSizeMode:AutoSize;

this->dataGridView1->Columns->AddRange (gcnew cli: array< System: Windows:Forms:DataGridViewColumn^ >(17) {this->Column1,

this->Column2, this->Column3, this->Column4, this->Column5, this->Column6, this->Column7, this->Column8, this->Column9, this->Column10,

this->Column11, this->Column12, this->Column13, this->Column14, this->Column15, this->Column16, this->Column17});

dataGridViewCellStyle2->Alignment = System: Windows:Forms:DataGridViewContentAlignment:MiddleLeft;

dataGridViewCellStyle2->BackColor = System: Drawing:SystemColors:Window;

dataGridViewCellStyle2->Font = (gcnew System: Drawing:Font (L" Microsoft Sans Serif", 8.25 °F, System: Drawing:FontStyle:Regular,

System:Drawing:GraphicsUnit:Point, static_cast (204)));

dataGridViewCellStyle2->ForeColor = System: Drawing:SystemColors:ControlText;

dataGridViewCellStyle2->SelectionBackColor = System: Drawing:Color:FromArgb (static_cast (static_cast (128)),

static_cast (static_cast (128)), static_cast (static_cast (255)));

dataGridViewCellStyle2->SelectionForeColor = System: Drawing:SystemColors:HighlightText;

dataGridViewCellStyle2->WrapMode = System: Windows:Forms:DataGridViewTriState:False;

this->dataGridView1->DefaultCellStyle = dataGridViewCellStyle2;

this->dataGridView1->GridColor = System: Drawing:Color:FromArgb (static_cast (static_cast (224)), static_cast (static_cast (224)),

static_cast (static_cast (224)));

this->dataGridView1->Location = System: Drawing:Point (0, 63);

this->dataGridView1->Name = L" dataGridView1″ ;

this->dataGridView1->RowHeadersVisible = false;

this->dataGridView1->Size = System: Drawing:Size (944, 537);

this->dataGridView1->TabIndex = 0;

// Column1

this->Column1->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column1->Frozen = true;

this->Column1->HeaderText = L" Π€Π˜ΠžΡΡ‚ΡƒΠ΄Π΅Π½Ρ‚Π°" ;

this->Column1->Name = L" Column1″ ;

this->Column1->ReadOnly = true;

this->Column1->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column1->Width = 200;

// Column2

this->Column2->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column2->HeaderText = L" 1ΠΊ.Π½. Π·Π°Π΄Π°Π½. % Π²Ρ‹ΠΏ." ;

this->Column2->Name = L" Column2″ ;

this->Column2->ReadOnly = true;

this->Column2->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column2->Width = 70;

// Column3

this->Column3->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column3->HeaderText = L" 1ΠΊ.Π½. Ρ„Π°ΠΊΡ‚. % Π²Ρ‹ΠΏ." ;

this->Column3->Name = L" Column3″ ;

this->Column3->ReadOnly = true;

this->Column3->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column3->Width = 70;

// Column4

this->Column4->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column4->HeaderText = L" 1ΠΊ.Π½. ΠΊΠΎΠ½Ρ‚Ρ€. ΠΎΡ†Π΅Π½ΠΊΠ°" ;

this->Column4->Name = L" Column4″ ;

this->Column4->ReadOnly = true;

this->Column4->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column4->Width = 70;

// Column5

this->Column5->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column5->HeaderText = L" 2ΠΊ.Π½. Π·Π°Π΄Π°Π½. % Π²Ρ‹ΠΏ." ;

this->Column5->Name = L" Column5″ ;

this->Column5->ReadOnly = true;

this->Column5->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column5->Width = 70;

// Column6

this->Column6->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column6->HeaderText = L" 2ΠΊ.Π½. Ρ„Π°ΠΊΡ‚. % Π²Ρ‹ΠΏ." ;

this->Column6->Name = L" Column6″ ;

this->Column6->ReadOnly = true;

this->Column6->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column6->Width = 70;

// Column7

this->Column7->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column7->HeaderText = L" 2ΠΊ.Π½. ΠΊΠΎΠ½Ρ‚Ρ€. ΠΎΡ†Π΅Π½ΠΊΠ°" ;

this->Column7->Name = L" Column7″ ;

this->Column7->ReadOnly = true;

this->Column7->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column7->Width = 70;

// Column8

this->Column8->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column8->HeaderText = L" 3ΠΊ.Π½. Π·Π°Π΄Π°Π½. % Π²Ρ‹ΠΏ." ;

this->Column8->Name = L" Column8″ ;

this->Column8->ReadOnly = true;

this->Column8->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column8->Width = 70;

// Column9

this->Column9->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column9->HeaderText = L" 3ΠΊ.Π½. Ρ„Π°ΠΊΡ‚. % Π²Ρ‹ΠΏ." ;

this->Column9->Name = L" Column9″ ;

this->Column9->ReadOnly = true;

this->Column9->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column9->Width = 70;

// Column10

this->Column10->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column10->HeaderText = L" 3ΠΊ.Π½. ΠΊΠΎΠ½Ρ‚Ρ€. ΠΎΡ†Π΅Π½ΠΊΠ°" ;

this->Column10->Name = L" Column10″ ;

this->Column10->ReadOnly = true;

this->Column10->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column10->Width = 70;

// Column11

this->Column11->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column11->HeaderText = L" Π”Π°Ρ‚Π° сдачи Π·Π°Π²Π΅Ρ€Ρˆ. ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ€Π°Π±ΠΎΡ‚Ρ‹) Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ План" ;

this->Column11->Name = L" Column11″ ;

this->Column11->ReadOnly = true;

this->Column11->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column11->Width = 120;

// Column12

this->Column12->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column12->HeaderText = L" Π”Π°Ρ‚Π° сдачи Π·Π°Π²Π΅Ρ€Ρˆ. ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ€Π°Π±ΠΎΡ‚Ρ‹) Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π€Π°ΠΊΡ‚." ;

this->Column12->Name = L" Column12″ ;

this->Column12->ReadOnly = true;

this->Column12->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column12->Width = 120;

// Column13

this->Column13->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column13->HeaderText = L" Π”Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ€Π°Π±ΠΎΡ‚Ρ‹) ΠΏΡ€Π΅ΠΏΠΎΠ΄. Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ План" ;

this->Column13->Name = L" Column13″ ;

this->Column13->ReadOnly = true;

this->Column13->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column13->Width = 120;

// Column14

this->Column14->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column14->HeaderText = L" Π”Π°Ρ‚Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ€Π°Π±ΠΎΡ‚Ρ‹) ΠΏΡ€Π΅ΠΏΠΎΠ΄. Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π€Π°ΠΊΡ‚." ;

this->Column14->Name = L" Column14″ ;

this->Column14->ReadOnly = true;

this->Column14->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column14->Width = 120;

// Column15

this->Column15->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column15->HeaderText = L" Π”Π°Ρ‚Π°Π·Π°Ρ‰ΠΈΡ‚Ρ‹ΠŸΠ»Π°Π½" ;

this->Column15->Name = L" Column15″ ;

this->Column15->ReadOnly = true;

this->Column15->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column15->Width = 120;

// Column16

this->Column16->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column16->HeaderText = L" Π”Π°Ρ‚Π°Π·Π°Ρ‰ΠΈΡ‚Ρ‹Π€Π°ΠΊΡ‚." ;

this->Column16->Name = L" Column16″ ;

this->Column16->ReadOnly = true;

this->Column16->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column16->Width = 120;

// Column17

this->Column17->AutoSizeMode = System: Windows:Forms:DataGridViewAutoSizeColumnMode:None;

this->Column17->FillWeight = 30;

this->Column17->HeaderText = L" ΠžΡ†Π΅Π½ΠΊΠ°Π·Π°Ρ€Π°Π±ΠΎΡ‚Ρƒ" ;

this->Column17->Name = L" Column17″ ;

this->Column17->ReadOnly = true;

this->Column17->Resizable = System: Windows:Forms:DataGridViewTriState:False;

this->Column17->Width = 75;

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