ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² C++
Π Π°Π½Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ «C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ», Π½Π°ΡΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Ρ 1980 Π³ΠΎΠ΄Π°. ΠΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π±Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΎΡ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ° Π΄Π»Ρ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΠΈ. ΠΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠ·ΡΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Simula ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π±Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ·ΡΠΊ BCPL Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² C++ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1. ΠΠ±Π·ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- 2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°
- 2.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°
- 2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Def. h
- 2.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Plant. h
- 2.4 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Main. cpp
- 3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ
- 3.1 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- 3.2 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `v`
- 3.3 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `r`
- 3.4 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π¦Π΅Π»ΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΠΈΡΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π΄ΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ, ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ .
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΎΡΠΌΠ°ΡΠ° CSV. Π Π΄Π°Π½Π½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ², ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π³ΠΎΡΠΎΠ΄Π°. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π΄Π°Π½Π½ΡΡ :
— ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² (integer);
— Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (string);
— Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ Π² Π³Π΅ΠΊΡΠ°ΡΠ°Ρ (real).
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
— Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ CSV (Π΄Π°Π½Π½ΡΠ΅, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «;», ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° Π·Π°Π΄Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°);
— ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅);
— ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.
Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ:
— ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
— ΠΡΠ΅ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ , — private (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ).
— ΠΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ²: Π°) ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΎΡΠΈΡΠ°ΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°; Π±) ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°; Π²) ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «;»);
— ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ.
— ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
— ΠΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΡΡΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ (ΠΎΠ΄Π½Π° Π·Π°ΠΏΠΈΡΡ — ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ).
1. ΠΠ±Π·ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ·ΡΠΊ C++.
Π―Π·ΡΠΊ Π²ΠΎΠ·Π½ΠΈΠΊ Π² Π½Π°ΡΠ°Π»Π΅ 1980;Ρ Π³ΠΎΠ΄ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΡΠΈΡΠΌΡ Bell Laboratories ΠΡΡΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΡΡΠ΄ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ·ΡΠΊΡ Π‘ ΠΏΠΎΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½ΡΠΆΠ΄Ρ. ΠΠΎ Π½Π°ΡΠ°Π»Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ·ΡΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠ»Π°ΠΌΠΈ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ° Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. Π 1998 Π³ΠΎΠ΄Ρ Π±ΡΠ» ΡΠ°ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠ·ΡΠΊΠ° C++: ISO/IEC 14 882:1998 «Standard for the C++ Programming Language»; ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π² 2003 Π³ΠΎΠ΄Ρ — Π½ΡΠ½Π΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° — ISO/IEC 14 882:2003.
Π Π°Π½Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ°, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ «C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ», Π½Π°ΡΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Ρ 1980 Π³ΠΎΠ΄Π°. ΠΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π±Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΎΡ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ° Π΄Π»Ρ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΠΈ. ΠΠ½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠ·ΡΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Simula ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π±Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ·ΡΠΊ BCPL Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡ, Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΡΠ·ΡΠΊΠ°ΠΌ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π‘ΡΡΠ°ΡΡΡΡΡΠΏ Π½Π°ΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Bell Labs Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΡΠ΅ΠΎΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ (Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ²). ΠΠΎΠΏΡΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ·ΡΠΊΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ. ΠΡΠΏΠΎΠΌΠΈΠ½Π°Ρ ΠΎΠΏΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π΄ΠΈΡΡΠ΅ΡΡΠ°ΡΠΈΠΈ, Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΠ΅ΡΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ·ΡΠΊ C (ΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊ BCPL) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈΡΡ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈΠΌΡΠ»Π°. Π―Π·ΡΠΊ C, Π±ΡΠ΄ΡΡΠΈ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ UNIX, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Bell, ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΡΡΡΡΠΌ, ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌ. Π‘ΡΡΠ°ΡΡΡΡΡΠΏ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Π½Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΈΠΌΡΠ»Π°-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²) ΡΠ°ΠΊ ΠΈ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ (Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ C). Π Π½Π°ΡΠ°Π»Π΅ Π² C Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΡ (Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠ΅ΠΉ), ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΡΡΡΠΎΠ³Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ², inline-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ (ΠΏΠΎΠ·Π΄Π½Π΅Π΅ C++), Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ cfront — ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΏΠ΅ΡΠ΅ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ C. ΠΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΡΠ°, ΠΏΡΠΈΠΎΠ±ΡΡΠ» Π±ΠΎΠ»ΡΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈ Π²ΡΠΊΠΎΡΠ΅ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ Π»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° ΡΡΡΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΠΎΠ².
Π 1983 Π³ΠΎΠ΄Ρ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΠΈΠ· C Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² C++. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π΅Π³ΠΎ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΡΠΈΠ»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (//). ΠΠ³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΏΡΡΠΊ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 1985 Π³ΠΎΠ΄Π°. Π 1985 Π³ΠΎΠ΄Ρ Π²ΡΡΠ»ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ «Π―Π·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++», ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°. Π 1989 Π³ΠΎΠ΄Ρ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΡ ΠΎΠ΄ C++ Π²Π΅ΡΡΠΈΠΈ 2.0. ΠΠ³ΠΎ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠ΅ ΡΠ»Π΅Π½Ρ.
Π 1990 Π³ΠΎΠ΄Ρ Π²ΡΡΠ»ΠΎ «ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ C++», ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ°. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, Π½ΠΎΠ²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ Π±ΡΠ»Π΅Π²ΡΠΊΠΈΠΉ ΡΠΈΠΏ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C++ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΈΠΌ. ΠΠ΅ΡΠ²ΡΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ C++ ΡΡΠ°Π»ΠΈ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ C printf ΠΈ scanf. ΠΠΎΠ·Π΄Π½Π΅Π΅ ΡΠ°ΠΌΡΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ°Π»ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Π½Π΅Ρ Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΠΈΠΊΡΠΎ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π½Π° ΡΠ·ΡΠΊ C++, ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΡΠ·ΡΠΊΠ° (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΎΠ²) Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Borland C++ 3.1. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡ. 1.
Π ΡΠ²ΡΠ·ΠΈ Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΡΠ΅Π΄Ρ Borland C++, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Notepad++.
Notepad++, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΡΠ΅Π΄Ρ Borland C++, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π’Π°ΠΊΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΠΏΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ, ΡΠ΅ΠΆΠΈΠΌ Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Notepad++ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 2.
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Borland C++ 3.1
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Notepad++
ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΉΠ»
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² Π³ΠΎΡΠΎΠ²ΠΎΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ) Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» plant.exe.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°
2.1 Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 3-Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
Def.hΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Plant.hΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Plant, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π΄Π°Π½Π½ΡΡ .
Main.cppΠ³Π»Π°Π²Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ Π² C++ ΡΡΠ½ΠΊΡΠΈΠΈ main.
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Def. h
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
MAX_NAME — ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π² 30 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
MAX_PLANT — Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 100 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
LINES_TO_PRINT — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ΅ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² 10 ΡΡΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ.
2.3 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Plant. h
ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Plant. h ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Plant.
Π ΡΠΎΡΡΠ°Π² ΠΊΠ»Π°ΡΡΠ° Π²Ρ ΠΎΠ΄ΡΡ 3 private ΡΠ²ΠΎΠΉΡΡΠ²Π°:
int WorkCnt;- ΠΊ-Π²ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ
char *pName;- ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
double pArea;- Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠ°Ρ ΠΏΠ»ΠΎΡΠ°Π΄Ρ
ΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°:
plant ();- ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
plant (int, const char*, double);- ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
plant (const char*); - ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°, Π·Π°ΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½ΡΠ»Π΅Π²ΡΠΌΠΈ (Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ ) ΠΈΠ»ΠΈ ΠΏΡΡΡΡΠΌΠΈ (Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ) Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ_ΡΠ°Π±ΠΎΡΠΈΡ , Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ»ΠΎΡΠ°Π΄Ρ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, Π·Π°ΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π²ΡΡΠ»Π΅Π½Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ. Π‘ΡΡΠΎΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ CSV ΡΡΡΠΎΠΊΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ. Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ — «;». ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ CSV ΡΡΡΠΎΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ΄ΠΊΡ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ_ΡΠ°Π±ΠΎΡΠΈΡ ; Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅; ΠΏΠ»ΠΎΡΠ°Π΄Ρ. ΠΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ new Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ MAX_NAME Π±Π°ΠΉΡ ΠΏΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° ~plant (). ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ delete Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ new ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠ΅ΡΠΎΠ΄Ρ-Π³Π΅ΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°:
int getWorkCnt (void) — ΡΠ²ΡΠ·Π°Π½ Ρ WorkCnt, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ;
const char *getPName (void) — ΡΠ²ΡΠ·Π°Π½ Ρ PName, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ;
double getPArea (void) — ΡΠ²ΡΠ·Π°Π½ Ρ PArea, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ ΠΏΠ»ΠΎΡΠ°Π΄Ρ.
ΠΠ΅ΡΠΎΠ΄Ρ-Π³Π΅ΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ΅ΡΠΎΠ΄Ρ-ΡΠ΅ΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π½ΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°:
void setWorkCnt (int) — ΡΠ²ΡΠ·Π°Π½ Ρ WorkCnt, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ
void setGetPName (const char*) — ΡΠ²ΡΠ·Π°Π½ Ρ PName, ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π² ΠΌΠ΅ΡΠΎΠ΄.
void setPArea (double) — ΡΠ²ΡΠ·Π°Π½ Ρ PArea, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ.
ΠΠ΅ΡΠΎΠ΄Ρ-ΡΠ΅ΡΡΠ΅ΡΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
2.4 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Main. cpp
Main.cpp — ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ main, ΠΏΡΠΎΡΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π΅ΡΡΡ Π΄Π²Π° Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ:
plant *plants[MAX_PLANT]; - ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° plant Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ MAX_PLANT ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²;
int plantCnt=0; - ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΅Π³ΠΎ Π² 0.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
void ShowHelp (void); - ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΊΡΠ°ΡΠΊΠΎΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
int LoadFromFile (const char*); - ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π³ΠΎΡΠΎΠ΄Π°. Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ — ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ -1. Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° — Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°.
void waitKey (void); - ΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΠΌΠΈ Π½Π° ΡΠΊΡΠ°Π½.
void ShowData (void); - Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΡΡΠΈΡΠΌΠΈ ΠΏΠΎ LINES_TO_PRINT ΡΡΡΠΎΠΊ. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
void ShowReport (void); - Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠ΅ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΡΡΡ ΠΈ ΠΏΠ»ΠΎΡΠ°Π΄Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ . ΠΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ — Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ main Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
void main (int argc, char *argv[]).
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ main ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ·ΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ main ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ Π΅ΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ Ρ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (argc==1), ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ShowHelp (), ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ (ΠΏΠ΅ΡΠ²ΡΠΉΠ²ΡΠ΅Π³Π΄Π° ΠΏΡΡΡ ΠΈ ΠΈΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) — ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠΈ Π½Π΅ΡΡΠΏΠ΅Ρ Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
if (argc>1) if (LoadFromFile (argv[1])<0) exit (0);
ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡ — ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Ρ. Π΅. ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΊΡΡΡ, Π½ΠΎ Π² Π½Π΅ΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅Ρ — Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ:
if (plantCnt==0){ cout << «Π ΡΠ°ΠΉΠ»Π΅ Π½Π΅Ρ Π΄Π°Π½Π½ΡΡ !» << endl; waitKey (); exit (0); }
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ, ΡΠ°ΠΉΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΊΡΡΡ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ — ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈ ΡΠΎΡΡΠ°Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π²Π° Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ r[eport]. ΠΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ (ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΡ `r' ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ) ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `v'.
if (argc>2) if (argv[2][0]=='r') ShowReport (); else ShowData (); else ShowData ();
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° plant. exe ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎΡΠΌΠ°ΡΠ° CSV.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Notepad++ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π°Π½Π½ΡΡ data. csv (ΡΠΌ. ΡΠΈΡ. 3) ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ:
500;ΠΠ³ΡΠΎΡΠΈΡΠΌΠ° ΠΠΠ;28
450;Π§ΠΠ£Π Π Π΅ΠΌΠΡΡΠ§ΡΠΎΠΠΈΠ±ΡΠ΄ΡΠ‘ΡΡΠΎΠΉ;20
50;ΠΠΠ Π ΠΎΡΡ;15
3;ΠΠΠ Π ΠΎΠ³Π° ΠΈ ΠΠΎΠΏΡΡΠ°;10
150;ΠΠ»ΡΡΠΊΠΈΠ½ & ΠΠΎ;25.5
154;ΠΠ°Π²ΠΎΠ΄ ΠΠΠ № 15;140.58
25;ΠΌΠ°Π³Π°Π·ΠΈΠ½ «Π ΠΎΠΌΠ°ΡΠΊΠ°» ;2.1
250;ΠΠΠ ΠΡΡΠ΅ΠΌΠΈΠΉ;4
180;ΠΠ‘ΠΠ-25;5.2
43;ΠΡΡΡΠΊΠΈ-ΠΠ°ΡΡΡΡΠΊΠΈ Ltd;16
452;ΠΠΈΡΠΏΠΈΡΠ½ΡΠΉ Π·Π°Π²ΠΎΠ΄ № 3;76.7
15;Π°Π²ΡΠΎΠΌΠ°ΡΡΠ΅ΡΡΠΊΠ°Ρ;1.8
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π°Π½Π½ΡΡ data. csv
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΠΉ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
plants.exe [<οΏ½ΡΠ°ΠΉΠ»> [ΠΊΠΎΠΌΠ°Π½Π΄Π°]], Π³Π΄Π΅:
ΡΠ°ΠΉΠ» — ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°
ΠΊΠΎΠΌΠ°Π½Π΄Π° — ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ Π΄Π°Π½Π½ΡΡ . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ `v' ΠΈΠ»ΠΈ `r'.
ΠΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°, ΡΠ³Π»ΠΎΠ²ΡΠ΅ — ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ (ΡΠΎ Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ² Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²); ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄Π°Π½Π½ΡΡ ; ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° v[iew] ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° r[eport] ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΎΡΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½.
ΠΡΠ·ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠ·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ v[iew], ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΡΠ·ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ `v' ΠΈ 'r'.
3.1 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: c:>plant.exe
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ plant. exe
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΠ°ΡΠΊΠ°Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ plant. exe Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 4.
ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ Π·Π°ΠΊΡΠΎΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
3.2 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `v`
ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `v` Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡ. 5.
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: c:>plant.exe data. csv
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `v`
ΠΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, Π΄Π»Ρ Π»ΠΈΡΡΠ°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π½Π°ΠΆΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΠΈΡΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π°Π½Π½ΡΡ , ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
3.3 ΠΡΠ·ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `r`
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ r[eport] ΠΈΠ½ΠΈΡΠΈΡΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΡΠΌΠΌΡ ΠΈ ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΈΠΌΠΈ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ°ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈ ΡΠ°ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡ. 6.
Π ΠΈΡΡΠ½ΠΎΠΊ 6 — ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: c:>plant data. csv r
3.4 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° — Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡ. 7.
ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: c:>plant.exe wrong. csv v
Π ΠΈΡΡΠ½ΠΎΠΊ 7 — ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° csv, Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΈ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Ρ Π΅Π³ΠΎ (ΠΊΠ»Π°ΡΡΠ°) ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ-Π³Π΅ΡΡΠ΅ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ-ΡΠ΅ΡΡΠ΅ΡΡ. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΡΡΠ°ΡΠ½ΡΡ , ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ·ΡΡΠ΅Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ΅Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++, ΡΠΏΠΎΡΠΎΠ±Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠ»ΡΠΆΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ , ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΎΡΠΌΡΡΠ»Π΅Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
1 Π. ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½, Π. Π ΠΈΡΡΠΈ. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ [Π’Π΅ΠΊΡΡ]: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / Π. ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½ — Π.: ΠΠΎΡΠΊΠ²Π°-Π‘.-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³-ΠΠΈΠ΅Π², 2009.-292 Ρ.
2 ΠΠΉΡΠ° ΠΠΎΠ». ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C++ [Π’Π΅ΠΊΡΡ]: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / ΠΠΉΡΠ° ΠΠΎΠ» — Π.:. ΠΠΈΠ½ΠΎΠΌ, 2001.-464 Ρ.
4 ΠΠΊΠΊΠ΅Π»Ρ ΠΡΡΡ. Π€ΠΈΠ»ΠΎΡΠΎΡΠΈΡ Π‘++ .
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π‘++ [Π’Π΅ΠΊΡΡ]: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / ΠΠΊΠΊΠ΅Π»Ρ ΠΡΡΡ — Π.: ΠΠΈΡΠ΅Ρ, Π‘.-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2004.-572 Ρ.
5 Π . ΠΠ°ΡΠΎΡΠ΅. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² C++ [Π’Π΅ΠΊΡΡ]: ΡΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ / Π . ΠΠ°ΡΠΎΡΠ΅ — Π.: ΠΠΈΡΠ΅Ρ, Π‘.-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2004.-928 Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠ΄ΡΠ»Ρ def. h
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° def. h
// ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
#define MAX_NAME30
#define MAX_PLANT100
#define LINES_TO_PRINT10
ΠΠΎΠ΄ΡΠ»Ρ plant. h
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° plant. h
// ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° plant
#include
#include
#include
#include
#include
#include «Def.h»
class plant{
int WorkCnt; // ΠΊ-Π²ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ
char *pName; // Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
double pArea; // ΠΏΠ»Π»ΠΎΡΠ°Π΄Ρ
public:
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ
plant ();
plant (int, const char*, double);
plant (const char*);
// Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
~plant ();
// Gets
int getWorkCnt (void);
const char *getPName (void);
double getPArea (void);
// Set
void setWorkCnt (int);
void setGetPName (const char*);
void setPArea (double);
};
// ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
plant:plant (){
WorkCnt = 0;
pName = new char[MAX_NAME];
pName[0] = 'x0';
pArea = 0;
}
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ
plant:plant (int wc, const char *pn, double pa){
WorkCnt = wc;
pName = new char [MAX_NAME];
strcpy (pName, pn);
pArea = pa;
}
// ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅
plant:plant (const char *strCSV){
char *ptr1, *ptr2, *tmp, *csv;
WorkCnt = 0;
pName = new char [MAX_NAME];
pName[0] = 'x0';
pArea = 0;
csv = new char [strlen (strCSV)+1];
tmp = new char [strlen (strCSV)+1];
strcpy (csv, strCSV);
ptr1 = strchr (csv, ';');
if (ptr1==0) return;
strncpy (tmp, csv, ptr1-csv);
tmp[ptr1-csv] = 'x0';
WorkCnt = atoi (tmp);
ptr1++;
ptr2 = strchr (ptr1, ';');
if (ptr2==0) return;
strncpy (tmp, ptr1, ptr2-ptr1);
tmp[ptr2-ptr1] = 'x0';
strcpy (pName, tmp);
ptr2++;
strcpy (tmp, ptr2);
pArea = atof (tmp);
delete [] csv;
delete [] tmp;
}
plant:~plant (){
delete [] pName;
}
// Get section
int plant: getWorkCnt (void){ return WorkCnt; }
const char *plant:getPName (void){ return pName; }
double plant: getPArea (void){ return pArea; }
// Set section
void plant: setWorkCnt (int wc){ WorkCnt = wc; }
void plant: setGetPName (const char *pn){ strcpy (pName, pn); }
void plant: setPArea (double pa){ pArea = pa; }
ΠΠΎΠ΄ΡΠ»Ρ main. cpp
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΉΠ»Π° main. cpp/
// ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π³ΠΎΡΠΎΠ΄Π°
// ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ
#include
#include
#include
#include
#include
#include
#include
#include «Def.h»
#include «Plant.h»
plant *plants[MAX_PLANT]; // ΠΌΠ°ΡΡΠΈΠ²
int plantCnt=0; // ΡΡΠ΅ΡΡΠΈΠΊ
// ΠΎΠΏΠΈΡΠ°Π»ΠΎΠ²ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
void ShowHelp (void);
int LoadFromFile (const char*);
void waitKey (void);
void ShowData (void);
void ShowReport (void);
void main (int argc, char *argv[])
{
if (argc==1){
ShowHelp ();
exit (0);
}
if (argc>1)
if (LoadFromFile (argv[1])<0)
exit (0);
if (plantCnt==0){
cout << «Π ΡΠ°ΠΉΠ»Π΅ Π½Π΅Ρ Π΄Π°Π½Π½ΡΡ !» << endl;
waitKey ();
exit (0);
}
if (argc>2)
if (argv[2][0]=='r')
ShowReport ();
else
ShowData ();
else
ShowData ();
}
/* ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ */
void waitKey (void){
cout << endl << «ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ…» ;
while (!kbhit ());
getch ();
}
// ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ
void ShowHelp (void){
cout << endl;
cout << «plants — ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:» << endl;
cout << «plants.exe [ [command]]» << endl;
cout << «- ΠΈΠΌΡ CSV-ΡΠ°ΠΉΠ»Π° (ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ)» << endl;
cout << «[command] - Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:» << endl;
cout << «v — ΠΏΡΠΎΡΠΌΠΎΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Π° (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)» << endl;
cout << «r — Π²ΡΠ²ΠΎΠ΄ ΠΎΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΠΌ ΠΈΠ· «<< endl;
waitKey ();
}
// Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΡΠ°ΠΉΠ»Π°
int LoadFromFile (const char *fn){
FILE *fl;
char *csv;
csv = new char[200];
if ((fl=fopen (fn, «r»))==0){
cout << «ΠΡΠΈΠ±ΠΊΠ° ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°!» << endl;
waitKey ();
return -1;
}
while (!feof (fl))
if (fgets (csv, 200, fl) ≠ NULL)
if (plantCnt < MAX_PLANT)
plants[plantCnt++] = new plant (csv);
fclose (fl);
delete [] csv;
return plantCnt;
}
void ShowData (void){
int notEnd=1, scrPos, listIndex=0, lastShow;
cout.precision (2);
while (notEnd){
clrscr ();
scrPos = 0;
if (listIndex+LINES_TO_PRINT < plantCnt)
lastShow = listIndex+LINES_TO_PRINT;
else
lastShow = plantCnt;
cout << «Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ: «<< listIndex+1 << «- «<< lastShow <
cout << «——————————————————————————————————» << endl;
cout << «ΠΠΠΠΠΠΠΠΠΠΠΠ | Π-Π²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² | ΠΠ»ΠΎΡΠ°Π΄Ρ «<< endl;
cout << «——————————————————————————————————» << endl;
while (scrPos < LINES_TO_PRINT){
cout << setiosflags (ios:left) << setw (30) << plants[listIndex]->getPName () << «|» ;
cout << setiosflags (ios:right) << setw (20) << plants[listIndex]->getWorkCnt () << «|» ;
cout << setiosflags (ios:right | ios: fixed |ios:showpoint) << setw (15) << plants[listIndex++]->getPArea () << endl;
if (listIndex < plantCnt)
scrPos++;
else{
notEnd=0;
scrPos = LINES_TO_PRINT;
}
}
cout << «——————————————————————————————————» << endl;
waitKey ();
}
}
void ShowReport (void){
int i;
double midCnt=0, fullArea=0;
clrscr ();
for (i=0; i
midCnt += plants[i]->getWorkCnt ();
fullArea += plants[i]->getPArea ();
}
cout.precision (2);
cout << «Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ :» << endl;
cout << «ΠΊΠΎΠ»-Π²ΠΎ: «<< plantCnt << endl;
cout << «————————————————————-» << endl;
cout << «*** | ΡΠΈΡΠ»Π΅Π½Π½ΠΎΡΡΡ | ΠΏΠ»ΠΎΡΠ°Π΄Ρ «<< endl;
cout << «————————————————————-» << endl;
cout << «ΡΡΠ΅Π΄Π½ΡΡ | «;
cout << setiosflags (ios:right | ios: fixed |ios:showpoint) << setw (13) << midCnt/plantCnt;
cout << «| «;
cout << setiosflags (ios:right | ios: fixed |ios:showpoint) << setw (13) << fullArea/plantCnt << endl;
cout << «ΠΎΠ±ΡΠ°Ρ | «;
cout << setiosflags (ios:right | ios: fixed |ios:showpoint) << setw (13) << midCnt;
cout << «| «;
cout << setiosflags (ios:right | ios: fixed |ios:showpoint) << setw (13) << fullArea << endl;
cout << «————————————————————-» << endl;
waitKey ();
}