, , , ,

[SOLVED] Csed 232 object-oriented programming assignment 2

$25

File Name: Csed_232_object_oriented_programming_assignment_2.zip
File Size: 461.58 KB

5/5 - (1 vote)

[์•ˆ๋‚ด์‚ฌํ•ญ]
1. ๋ชจ๋“  ๋ฌธ์ œ๋Š” C++์˜ standard ์ž…์ถœ๋ ฅ(i.e., cout, cin)์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
2. ์ž˜๋ชป๋œ ์ž…๋ ฅ์— ๋Œ€ํ•ด์„œ๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
3. ๊ณผ์ œ์— ๊ด€ํ•œ ์งˆ๋ฌธ์€ PLMS๋ฅผ ํ†ตํ•ด ๋ฌธ์˜ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
[๊ฐ์ ]
1. ์ œ์ถœ ๊ธฐํ•œ์ด ์ง€๋‚˜๋ฉด ์–ป์€ ์ด์ ์˜ 20% ๊ฐ์ 
2. ํ•˜๋ฃจ(24์‹œ๊ฐ„) ๋Šฆ์„ ๋•Œ๋งˆ๋‹ค ์ถ”๊ฐ€ 20%์”ฉ ๊ฐ์ 
โ€“ 1์ผ ์ด๋‚ด: 20% ๊ฐ์ , 2์ผ ์ด๋‚ด: 40% ๊ฐ์ , 3์ผ ์ด๋‚ด: 60% ๊ฐ์  4์ผ ์ด๋‚ด:80% ๊ฐ์ 
โ€“ 4์ผ ์ด์ƒ ์ง€์—ฐ: 0์ 
3. ์ปดํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ ์ ์ˆ˜ 0์ 
[์ œ์ถœ]
1. Code (e.g., cpp or hpp), executable file (exe), README.txt, report.pdf๋ฅผ ํ•˜๋‚˜์˜ ํด๋”์— ๋‹ด์•„
์„œ ์••์ถ•ํ•˜์—ฌ ์ œ์ถœํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ MacOS๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ executable file ๋Œ€์‹  makefile
์„ ์ œ์ถœํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
2. ์ด๋•Œ makefile์„ ํ†ตํ•ด์„œ๋Š” executable file์ด ์ƒ์„ฑ๋˜์–ด์•ผ ํ•˜๋ฉฐ README.txt์—๋Š” ๊ฐ ์ฝ”๋“œํŒŒ์ผ๋“ค
์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๊ฐ„๋‹จํžˆ ์„œ์ˆ ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
3. Report๋Š” ์ œ์‹œ๋œ ์–‘์‹(PLMS ์ฐธ๊ณ )์„ ๋”ฐ๋ฅด๋˜, ์ฃผ์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ด€์ 
์—์„œ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€๊ณ  ํ˜น์€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•ด ๋ณธ์ธ์˜ ์ƒ๊ฐ์„ ๋ณด๊ณ ์„œ โ€œ3.
ํ† ๋ก  ๋ฐ ๊ฐœ์„ โ€์— ๊ฐ„๋žตํžˆ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
4. ํด๋” ์ด๋ฆ„๊ณผ ์••์ถ•ํŒŒ์ผ์€ โ€œAssign2_ํ•™๋ฒˆโ€์œผ๋กœ ๋งŒ๋“œ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค (e.g., Assign2_20229999).
5. ์ฑ„์ ์€ Windows Visual Studio 2022 ํ™˜๊ฒฝ์—์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ์„ธํŒ…์ด ์–ด๋ ค์šด ๊ฒฝ์šฐ Visual
Studio Code๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
6. ์ œ์ถœ์€ ๋ฐ˜๋“œ์‹œ PLMS๋ฅผ ํ†ตํ•ด ์ œ์ถœํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์ œ์ถœ์€ ์ธ์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 4
์ผ ์ด์ƒ ์ง€์—ฐ ์ œ์ถœํ•  ๊ฒฝ์šฐ 0์ ์ด๋ฏ€๋กœ 4 ์ผ ( 4์›” 11์ผ 23์‹œ 59๋ถ„ 59์ดˆ)์ด ์ง€๋‚œ ์ดํ›„๋Š” PLMS
๋ฅผ ํ†ตํ•ด ์ œ์ถœํ•˜์‹ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
[์ฑ„์ ๊ธฐ์ค€]
1. ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ โ€“ 50%
l ํ”„๋กœ๊ทธ๋žจ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋ฉด์„œ ์˜ฌ๋ฐ”๋กœ ์‹คํ–‰๋˜๋Š”๊ฐ€?
2. ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ โ€“ 35%
l ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„๊ฐ€ ์ž˜ ๋˜์—ˆ๋Š”๊ฐ€?
l ๊ฐ ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์„ธ๋ถ€ ์กฐ๊ฑด์˜ ์œ ์˜์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜์˜€๋Š”๊ฐ€?
l ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ์ฃผ์–ด์ง„ ํ˜•์‹์— ๋งž๊ฒŒ ์ž˜ ๋‚˜ํƒ€๋‚˜๋Š”๊ฐ€?
l ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์•Œ๋งž๊ฒŒ ํ•˜์˜€๋Š”๊ฐ€?
3. ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๋…์„ฑ โ€“ 5%
l ํ”„๋กœ๊ทธ๋žจ์ด ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€?
l ๋ณ€์ˆ˜ ๋ช…์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์šด๊ฐ€?
l ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ฃผ์„์„ ์ž˜ ๋ถ™์˜€๋Š”๊ฐ€?
4. ๋ณด๊ณ ์„œ ๊ตฌ์„ฑ ๋ฐ ๋‚ด์šฉ, ์–‘์‹ โ€“ 10%
l ๋ณด๊ณ ์„œ๋Š” ์ ์ ˆํ•œ ๋‚ด์šฉ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๋ณด๊ธฐ ์ข‹๊ฒŒ ์ž˜ ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€?
l ๋ณด๊ณ ์„œ์˜ ์–‘์‹์„ ์ž˜ ๋”ฐ๋ž๋Š”๊ฐ€?
l ๊ฐ ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์งˆ๋ฌธ์ด ์žˆ๋‹ค๋ฉด, ๊ทธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์ด ์ถฉ๋ถ„ํ•œ๊ฐ€?
[์ฃผ์˜์‚ฌํ•ญ]
๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹จ์ˆœํžˆ ๋ณต์‚ฌ(copy)ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์„œ ์ œ์ถœํ•˜๋ฉด ๋ถ€์ •
ํ–‰์œ„๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ถ€์ •ํ–‰์œ„ ๋ฐœ๊ฒฌ ์‹œ โ€˜Fโ€™ ํ•™์ ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•™๊ณผ์—์„œ ์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ถ”๊ฐ€์ ์ธ
๋ถˆ์ด์ต์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
[๋ฌธ์ œ]
1. Overview
๋ณธ ๊ณผ์ œ์—์„œ๋Š” ํ•™์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ›์€ ํ›„ ํ”ผ๋ฒ— ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ด๋ธ” ๋ฐ ์ฐจํŠธ ๋กœ ์‹œ
๊ฐํ™” ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.
l ํ”ผ๋ฒ— ๋ณ€ํ™˜์ด๋ž€?
์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์—ด์˜ ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ์ค€์œผ๋กœ ๋ฌถ๊ณ  ๋‹ค๋ฅธ ์—ด์˜ ์ˆ˜์น˜์— ๋Œ€ํ•ด ํ•ฉ๊ณ„, ํ‰๊ท , ์ตœ๋Œ€๊ฐ’ ๋“ฑ์„
๊ตฌํ•˜๋Š” ๋ณ€ํ™˜์ด๋‹ค.
๊ทธ๋ฆผ 1 ํ”ผ๋ฒ— ๋ณ€ํ™˜ ์˜ˆ์‹œ
2. ํ•™์ƒ ๋ฐ์ดํ„ฐ ์„ค๋ช…
1) Dept: ํ•™๊ณผ
2) Gender: ์„ฑ๋ณ„
3) Name: ์ด๋ฆ„
4) Age: ๋‚˜์ด
l ๋ฐ์ดํ„ฐ ์„ธ๋ถ€ ์„ค๋ช…
โ€“ Dept, Gender, Name์€ std::string type์„ ์‚ฌ์šฉํ•œ๋‹ค.
โ€“ Dept, Gender, Name์€ ๊ณต๋ฐฑ์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
โ€“ Age๋Š” integer type์„ ์‚ฌ์šฉํ•œ๋‹ค.
โ€“ Dept์˜ ์ข…๋ฅ˜(e.g., CS, Bio)๋Š” 9๊ฐœ๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค. (9๊ฐœ๊นŒ์ง€ ๊ฐ€๋Šฅ)
โ€“ ๊ฐ Dept์— ์†Œ์†๋œ ํ•™์ƒ ์ˆ˜๋Š” 10,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. (10000๊ฐœ๊นŒ์ง€ ๊ฐ€๋Šฅ)
โ€“ Gender๋Š” M,F ๋งŒ ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. (M = male, F = Female)
โ€“ Dept๋Š” ๋Œ€๋ฌธ์ž๋งŒ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š”๋‹ค.
โ€“ Name์€ ๋Œ€์†Œ๋ฌธ์ž ๋ชจ๋‘ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. (e.g., Minsu, MinSu, minsu)
โ€“ Age์˜ ๋ฒ”์œ„๋Š” 18 <= age <= 30์œผ๋กœ ์ œํ•œํ•œ๋‹ค.
3. ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ
ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ๋ฉ”๋‰ด๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉฐ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฉ”๋‰ด ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค. ์ด๋•Œ ์„ 
ํƒ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋‰ด๋Š” ์ด 5๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜๊ณ  ๊ฐ๊ฐ์˜ ๋ฉ”๋‰ด์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ๋“ค์€ ์•„๋ž˜์—์„œ ์„ค๋ช…๋œ๋‹ค. ํ•ญ์ƒ ๋ฉ”๋‰ด์— ๋”ฐ๋ฅธ
๊ธฐ๋Šฅ ์ˆ˜ํ–‰์ด ๋๋‚œ ํ›„์—๋Š” ๋ฉ”๋‰ด๋ฅผ ๋‹ค์‹œ ์ถœ๋ ฅํ•ด์ฃผ๊ณ  ์ž…๋ ฅ์„ ๋ฐ›๋„๋ก ํ•œ๋‹ค.
1) ํ•™ ์ƒ ์ถ”๊ฐ€ (Add a student)
์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋˜ ํ•™์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค. ์ด๋•Œ ์ž…๋ ฅ๋œ (ํ•™๊ณผ, ์„ฑ๋ณ„, ์ด๋ฆ„, ๋‚˜์ด)๊ฐ€ ์ด
๋ฏธ ์กด์žฌํ•˜๋ฉด ์ค‘๋ณต์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  โ€œThe student already existsโ€๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ•œ๋‹ค.
๋งŒ์•ฝ ์ค‘๋ณต์ด ์•„๋‹ˆ๋ผ๋ฉด ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ ๋’ค โ€œA student is added in table!โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
2) ํ•™ ์ƒ ์‚ญ์ œ (Delete a student)
์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ (ํ•™๊ณผ, ์„ฑ๋ณ„, ์ด๋ฆ„, ๋‚˜์ด)๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…๋ ฅ ๋ฐ›์€ ํ›„ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์ด ์ด๋ฏธ ์ถ”๊ฐ€๋œ ๋ฆฌ์ŠคํŠธ
๋‚ด์— ์กด์žฌํ•œ๋‹ค๋ฉด ์‚ญ์ œํ•œ๋‹ค. ์ด๋•Œ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ญ์ œ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด โ€œDeleted!โ€๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๋งŒ์•ฝ ๋งค์นญ
์ด ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด ์žˆ๋Š” ์ƒํƒœ๋ผ๋ฉด โ€œCanโ€™t Delete itโ€์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
์˜ˆ์‹œ: ๋ฆฌ์ŠคํŠธ๋‚ด์— ๋งŒ์•ฝ (CS/M/Minsu/20)์ด ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด ์•„๋ž˜ ์™ผ์ชฝ ์ด๋ฏธ์ง€๋Š” ์ •ํ™•ํ•˜
๊ฒŒ ๋งค์นญ์ด ๋˜์–ด ๋ฆฌ์ŠคํŠธ ๋‚ด์—์„œ ์‚ญ์ œ๋˜์ง€๋งŒ ์˜ค๋ฅธ์ชฝ์€ ๊ทธ๋ ‡์ง€ ์•„๋‹ˆํ•˜๋‹ค)
3) ํ•™ ์ƒ ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ (Print the studentโ€™s list)
์ž…๋ ฅ ๋ฐ›์€ ํ•™์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ ์ฒซ๋ฒˆ์งธ ์ค„์—๋Š” 4๊ฐœ ์—ด์˜ ์ด๋ฆ„์„ Dept, Gender,
Name, Age ์ถœ๋ ฅํ•œ๋‹ค. ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ๋Š” ํ•™์ƒ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋˜ ์ •๋ ฌํ•˜์—ฌ ๋ณด์—ฌ ์ฃผ๋„๋ก ํ•œ๋‹ค. ์ด๋•Œ
๋ฌธ์ž์—ด์€ ์‚ฌ์ „ ์ˆœ์„œ๋Œ€๋กœ ์ˆซ์ž๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋„๋ก ํ•œ๋‹ค. ๊ฐ ์—ด ์€ ํƒญ ๋ฌธ์ž(โ€˜tโ€™)๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ
๊ฐ ์ค„์˜ ๋งจ ๋’ค์—๋Š” ํƒญ์ด๋‚˜ ๊ณต๋ฐฑ์ด ์—†๋‹ค.
4) ํ”ผ๋ฒ— ํ…Œ์ด๋ธ” ์ถœ๋ ฅ (Pivot Table)
์‚ฌ์šฉ์ž๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์™€ ํ•จ์ˆ˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์นดํ…Œ๊ณ ๋ฆฌ์—๋Š” (Dept, Gender, Dept and Gender)๋กœ ์„ธ ๊ฐ€์ง€
์˜ ์„ ํƒ์‚ฌํ•ญ์ด ์žˆ๋‹ค. ํ•จ์ˆ˜์—๋Š” (Average, Max, Min)์œผ๋กœ ์„ธ ๊ฐ€์ง€ ์„ ํƒ์‚ฌํ•ญ์ด ์žˆ๋‹ค. ์ด๋•Œ Function์˜ ๋Œ€์ƒ
์ด ๋˜๋Š” ๊ฐ’์œผ๋กœ Age๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
ํ”ผ๋ฒ—ํ…Œ์ด๋ธ”์„ ์ถœ๋ ฅํ•  ๋•Œ, ์ฒซ์งธ ์ค„์—๋Š” ์ž…๋ ฅ ๋ฐ›์€ ์นดํ…Œ๊ณ ๋ฆฌ์™€ ํ•จ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„
๋กœ Age์— ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์ด๋•Œ ํ”ผ๋ฒ— ํ…Œ์ด๋ธ”์˜ ์ถœ๋ ฅ์€ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์‚ฌ์ „ ์ˆœ์„œ๋Œ€
๋กœ ์ •๋ ฌํ•˜์—ฌ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ฐ ์—ด์€ ํƒญ ๋ฌธ์ž(โ€˜tโ€™)๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ ๊ฐ ์ค„์˜ ๋งจ ๋’ค์—๋Š” ํƒญ์ด๋‚˜ ๊ณต๋ฐฑ์ด ์—†๋‹ค.
๋˜ํ•œ ํ•จ์ˆ˜๋กœ ์ ์šฉ๋œ ๊ฐ’์ด ์†Œ์ˆ˜๋กœ ํ‘œํ˜„๋  ๊ฒฝ์šฐ, ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ๊นŒ์ง€ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์นดํ…Œ๊ณ ๋ฆฌ ๋˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํ•ฉ์— ์†ํ•˜๋Š” ํ•™์ƒ์ด ์—†๋Š” ๊ฒฝ์šฐ๋Š” ํ•ด๋‹น ์ถœ๋ ฅ์„ ์ƒ๋žตํ•œ๋‹ค (๋‹ค์Œ ํŽ˜์ด์ง€ ์ด๋ฏธ์ง€
์ฐธ๊ณ ).
(Raw/F์— ์†ํ•œ ํ•™์ƒ์ด ์—†์œผ๋ฏ€๋กœ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค)
5) ํ”„๋กœ๊ทธ๋žจ ์ข… ๋ฃŒ (Exit)
โ€œExit!โ€๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด์„œ, ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒ์‹œํ‚จ๋‹ค.
4. Class & Function
๋ณธ ๊ณผ์ œ์—์„œ๋Š” Class์™€ Function์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์€
class๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ๊ฐ Class๋Š” hppํŒŒ์ผ์„ ํ†ตํ•ด ์ •์˜ํ•˜๊ณ , cppํŒŒ์ผ์„ ํ†ตํ•ด ๊ตฌ์ฒด
์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ ์ œ์‹œ๋œ ๊ธฐ๋Šฅ ์ด์™ธ์— ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒˆ๋กœ์šด class๋‚˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜/ํ•จ์ˆ˜
๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ๊ตฌํ˜„ํ•˜์—ฌ ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
1) Student class
๊ธฐ๋ณธ์ ์ธ ํ•™์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ class์ด๋‹ค.
class student{
public:
string dept, name, gender;
int age;
void input_info();
};
(1) ๋ฉค๋ฒ„ ๋ณ€์ˆ˜
โ€“ string dept : ํ•™๊ณผ
โ€“ string name: ์ด๋ฆ„
โ€“ string gender: ์„ฑ๋ณ„
โ€“ int age: ๋‚˜์ด
(2) ๋ฉค๋ฒ„ ํ•จ์ˆ˜
โ€“ void Input_info(): ํ•™์ƒ ์ •๋ณด(e.g., dept, name, gender, age)๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
2) List class
์ „์ฒด ํ•™์ƒ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ List๊ฐ€ ์š”๊ตฌ๋œ๋‹ค. ์ด๋•Œ List๋กœ Linked List๋ฅผ ํ™œ์šฉํ•˜๋„๋ก
ํ•œ๋‹ค.
class list{
public:
int count, dept_cnt;
string dept[9];
node *head;
void sort(string metric);
};
(1) ๋ฉค๋ฒ„ ๋ณ€์ˆ˜
โ€“ int count : List ๋‚ด ์กด์žฌํ•˜๋Š” Node์˜ ๊ฐœ์ˆ˜
โ€“ int dept_cnt: List ๋‚ด ์กด์žฌํ•˜๋Š” ํ•™๊ณผ์˜ ๊ฐœ์ˆ˜
โ€“ string dept[9]: ํ•™๊ณผ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ string array (์ฐธ๊ณ ๋กœ ํ•™๊ณผ์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋Š” 9๊ฐœ ์ด๋ฏ€๋กœ
size๋ฅผ 9๋กœ ์„ค์ •)
โ€“ node *head: Linked List์˜ head (node class ์ฐธ๊ณ )
(2) ๋ฉค๋ฒ„ ํ•จ์ˆ˜
โ€“ Void list_sort(string metric):
์•ž์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ ํŒŒํŠธ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ, ๋ชจ๋“  ์ถœ๋ ฅ์€ ์ •๋ ฌ์ด ๋œ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜์•ผ ํ•œ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด์„œ ์ฃผ์–ด์ง„ linked list๋ฅผ ์ •๋ ฌํ•˜์—ฌ ์ €์žฅํ•˜๋„๋ก ํ•œ๋‹ค. ์ด๋•Œ metric์œผ๋กœ๋Š” student class
์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์ธ dept, name, gender, age๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. Metric์ด ์ฃผ์–ด์ง€๋ฉด ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ
linked list๋ฅผ ์ •๋ ฌํ•œ๋‹ค.
3) Node class
Linked List์˜ Node๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ class์ด๋‹ค.
class node{
public:
student data;
node *next;
};
(1) ๋ฉค๋ฒ„ ๋ณ€์ˆ˜
โ€“ Student data: student์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
โ€“ Node * next: ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ node pointer๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
4) Function
์•„๋ž˜ function๋“ค์€ linked list์˜ node๋ฅผ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•œ function์ด๋‹ค.
void save_node(list&, node *);
void delete_node(list&, node *);
โ€“ void save_node(list &, node *): linked list์— node๋ฅผ ์ €์žฅํ•œ๋‹ค.
โ€“ void delete_node(list &, node *): linked list์— node๋ฅผ ์‚ญ์ œํ•œ๋‹ค.
5. ์ œ์•ฝ์กฐ๊ฑด
Library๋กœ iostream, string, cmath ๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•œ๋‹ค.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] Csed 232 object-oriented programming assignment 2[SOLVED] Csed 232 object-oriented programming assignment 2
$25