بکندباز

شما وظیفه ایجاد برنامه‌ای را بر عهده دارید که با استفاده از وراثت در C++ یک محیط دانشگاه را مدل سازی می‌کند. برنامه شما سه کلاس خواهد داشت: Person که به عنوان کلاس پایه برای کلاس‌های Student و Professor عمل می‌کند.

(این تمرین از سمت یکی از کاربران برای c++ ثبت شده است اما در صورت تمایل با زبان های دیگر نیز می توانید آن را حل کنید)

کلاس Person

کلاس Person دارای ویژگی‌های زیر خواهد بود:

name : رشته‌ای که نام شخص را نشان می‌دهد.

age : یک عدد صحیح نشان دهنده سن فرد است.

کلاس Person متدهای زیر را خواهد داشت:

display : یک متد مجازی که نام و سن فرد را نمایش می‌دهد.

کلاس Student

کلاس Student از Person ارث می‌برد و دارای ویژگی‌های اضافی زیر خواهد بود:

courses : وکتوری از ساختار‌های course که نشان دهنده دروسی است که دانش آموز می‌گذراند. ساختار course شامل name , midterm_grade و final_grade می‌باشد.

کلاس Student متدهای زیر را خواهد داشت:

addCourse : متدی که یک درس و به ترتیب نمره‌های میان‌ترم و پایان‌ترم مربوط به آن را گرفته و به لیست دروس دانش‌آموز اضافه می‌کند.

removeCourse : متدی که با گرفتن نام یک درس، آن را از لیست دروس دانش‌آموز حذف می‌کند.

display : متدی که نام، سن و لیست دروس دانش آموز را با نمرات مربوطه نمایش می‌دهد.

calculateFinalGrade : متدی که با گرفتن نام یک درس نمره نهایی دانش آموز در آن درس را بر اساس میانگین گیری نمره میان‌ترم و پایان‌ترم آن محاسبه می‌کند.

کلاس Professor

کلاس Professor از Person ارث می‌برد و دارای ویژگی‌های اضافی زیر است:

prof_courses : وکتوری از رشته‌هایی که نشان دهنده دروسی است که استاد تدریس می‌کند.

کلاس Professor متدهای زیر را خواهد داشت:

addCourse : متدی که با گرفتن نام یک دوره، آن دوره را به لیست دروس استاد اضافه می‌کند.

removeCourse : متدی که با گرفتن نام یک درس، آن را از لیست دروس استاد حذف می‌کند.

display : متدی که نام استاد، سن و لیست دروسی که تدریس می‌کند را نمایش می‌دهد.

calculateSalary : متدی که حقوق استاد را بر اساس:

salary = baseSalary + bonus + (courses.size()‎ * 5000.0)

که baseSalary = 50000 و bonus = 10000 می‌باشند.

پاسخ های کاربران به این تمرین

user-9kH6
امتیاز:‌ 1005
0 0
‎پایتون‎
19 خرداد 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Dragon
امتیاز:‌ 3606
0 0
‎پایتون‎
1 خرداد 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Mina
امتیاز:‌ 5094
0 0
‎پایتون‎
12 ارديبهشت 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

mantix
امتیاز:‌ 16221
1 0
‎پایتون‎
11 ارديبهشت 1402

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*